Je veux essayer de nettoyer les lignes prêtes à supprimer contenant un mot spécifique dans Google Feuilles, le problème que j'ai est le script que je suis allé avec Suppr Lines 1 par 1 qui peut prendre beaucoup de temps si vous avez beaucoup de Rangez pour rechercher, où si je pouvais simplement mettre en évidence toutes ces lignes et effacer les données si la ligne ne peut que le mot spécifique, ce serait beaucoup plus rapide, car je pourrais trier les données par la suite
function deleteRows() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName('Copy of TBC Sort'); var r = s.getRange('C3:C400'); var v = r.getValues(); for(var i=v.length-1;i>=0;i--) if(v[0,i]=='Delete Row') s.deleteRow(i+1); };
3 Réponses :
Vous pouvez utiliser L'exemple indiqué est P> ClearContent () code> à la place. Pour plus de détails, consultez le site Web de script applications ici .
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:D10");
range.clearContent();
Ok mais comment choisira-je toutes les lignes contenant le texte spécifique afin que je puisse les effacer?
Supprimer des lignes si les données contiennent "Supprimer la ligne". p>
function findAndDeleteRow() { var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Copy of TBC Sort'); var r = s.getRange('C3:C400'); var find = r.createTextFinder('Delete Row').findAll().reverse(); if (find.length > 0) { for (i = 0; i < find.length; i++) { s.deleteRow(find[i].getRow()); } } }
Construire sur ce que Mario a dit, la chose la plus rapide est de copier les données, d'effacer la plage et de coller les données que vous souhaitez
function deleteRows() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName('Copy of TBC Sort'); var data = s.getDataRange().getValues(); var results = []; for(var i=v.length-1;i>=0;i--) if(data[0,i]=='Delete Row') continue;//skips these rows result.push(data[i]); }; s.getDataRange().clear(); s.getRange(1, 1,results.length, results[0].length).setValues(results); }
Il est difficile de comprendre quel est votre problème. Essayez de structurer votre question et, s'il vous plaît, utilisez des points dans votre texte.
Ce fil est-il utile pour votre situation? Stackoverflow.com/q/54643065/7108653