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から削除した一行分減らしていく |
関連記事
特定の列に特定の値が入っている行を削除する

