スキルアップを始める!

【GoogleAppsScript(GAS)入門】行を削除する方法|deleteRow(rowindex)|空白セルの行を一気に削除!

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約2分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

GASで行を削除したい時はdeleteRow(行番号)を使います。

空白セルの行を一気に削除したい時

例えば、空白行が多々あって、まとめて削除をしたい時。ひとつずつ行を選択して削除するのは、ちょっと効率が悪そうです・・・。

まずは、スクリプトエディタを開きます。

まずは関数名をfunction removeRow() などわかりやすい名前に変更して、次に、毎度おまじないのvar sheet=SpreadsheetApp.getActiveSheet();でアクティブシートを取得します。

function removeRow() {
//アクティブシートを取得
var sheet=SpreadsheetApp.getActiveSheet();

deleteRow(rowindex)

行を削除する。

[rml_read_more]

getLastRow();

最終行を取得します。

sheet.getLastRow();

最終行までループで回す

for(var row = 1; row <= sheet.getLastRow(); row++) {

}

空白セルを判定する

あとは、「現在位置が空白セルであれば、その行を削除する」としてあげれば良さそうな気がします!

//セルの値を取得する
var cell = sheet.getRange(row, 1);

cell.isBlank()

.isBlank()で空白かどうか?を判定させます。

//セルがもし空白であれば
if(cell.isBlank()){
//行を削除する
sheet.deleteRow(row);
}

実行

これでおそらくいい感じに空白行が消え・・・

空白行が1行ずつ残ってしまいました・・・!!

この実行内容だと・・・

2行目を削除したタイミングで、本来3行目だった空白セルの行が2行目に移動するので、行を削除できずに通過してしまいます。

ということは、いくつか方法が考えられそうですが、例えば「削除したタイミングで行(row)を1引く」という方法も考えられそうです。

//セルがもし空白であれば
if(cell.isBlank()){
//行を削除する
sheet.deleteRow(row);
// 1行分、戻す
row-=1;
}

できました!

まとめ

空白セルが入った行を一気に削除したい時に便利です!

ご参考下さい(^o^)/

URLをコピーしました!