A列に空白の行があって
その空白の行を削除したい
フィルタを作成して削除しても良いけれど、フィルタの場合はB列やC列を値で埋めておかないと作成できない。
マクロを記録してやろうとしたら、空白のセルではなく空白じゃないセルが決め打ちで選択されて、汎用的に使えなそうだったため、以下のようなコードを書きました。
A列でアクティブセル以下の行で空白の行を削除します。
コード.gs
function deleteBlankRows(){ var sheet = SpreadsheetApp.getActiveSheet(); var row = sheet.getActiveRange().getRow(); var lastRow = sheet.getLastRow(); for(var i = row; i < lastRow; i++){ var range = sheet.getRange('A' + i); var value = range.getDisplayValue(); if(value == ""){ sheet.deleteRows(i, 1);// i行目から1行削除 lastRow = lastRow - 1 } } } |
意訳この機能がやること 今開いているシートを取得する 選択している範囲の行数を取得する シートでデータが入っている最終行を取得する 選択行以下で空白の行を削除していく A列のi行目の範囲を取得する その範囲の値を取得する その値が空なら i行目の1行を削除する lastRowから削除した一行分減らしていく |
関連記事
特定の列に特定の値が入っている行を削除する