お問い合わせ
    氏名

    メールアドレス

    件名

    お問い合わせ内容



    会員登録(無料)
    ログイン
    スキルアップは今すぐこちら!▶

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

    GAS(グーグルアップススクリプト)
    この記事は約2分で読めます。

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

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

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

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

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

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

    deleteRow(rowindex)

    行を削除する。

    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^)/

    0 件のコメント

    コメント
    タイトルとURLをコピーしました