[英]Transfer Data from one sheet to another and deleting old data in google sheets
[英]Deleting Data In Bulk - Google sheets
我找到了這段代碼,需要對其進行修改,以便如果找不到結果,它將返回並繼續運行下一行代碼
function DeleteTEXT_BULK() {
// will delete in bulk whatever the text finder finds. tested and working
// YOU MUST ENABLE THE SHEETS API - RESOURCES / ADVANCED GOOGLE SERVICES / GOOGLE SHEETS API
// cannot delete blank rows
const sheetName = "Sheet 1"; // Please set the sheet name.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(sheetName);
const sheetId = sheet.getSheetId();
const requests = sheet
.getRange(`A1:E${sheet.getLastRow()}`)
.createTextFinder("^JOHN")
.matchCase(true)
.useRegularExpression(true)
.findAll()
.map(r => r.getRow())
.reverse()
.map(r => ({delete Dimension:{range:{sheetId:sheetId,startIndex:r -
1,endIndex:r,dimension:"ROWS"}}}));
Sheets.Spreadsheets.batchUpdate({requests: requests}, ss.getId());
}
因此,如果它沒有找到“JOHN”,它當前會停止運行並引發錯誤。
如果沒有找到結果,我希望它移動到下一段代碼。
感謝任何幫助,這是我的第一篇文章
我相信你的目標如下。
JOHN
的值,您也希望繼續運行腳本。在這種情況下,如何進行以下修改?
function DeleteTEXT_BULK() {
const sheetName = "Sheet 1"; // Please set the sheet name.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(sheetName);
const sheetId = sheet.getSheetId();
const ranges = sheet
.getRange(`A1:E${sheet.getLastRow()}`)
.createTextFinder("^JOHN")
.matchCase(true)
.useRegularExpression(true)
.findAll();
if (ranges.length > 0) {
const requests = ranges.map(r => r.getRow())
.reverse()
.map(r => ({ deleteDimension: { range: { sheetId: sheetId, startIndex: r - 1, endIndex: r, dimension: "ROWS" } } }));
Sheets.Spreadsheets.batchUpdate({ requests: requests }, ss.getId());
}
// do something.
}
JOHN
的值時,通過if (ranges.length > 0) {}
跳過Sheets.Spreadsheets.batchUpdate
的腳本。 這樣,您可以繼續運行腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.