列を操作する

【GAS】スプレッドシートの指定列から連続する複数列を非表示にする

GASでスプレッドシートの指定列から複数列を非表示にするには「hideColumns(columnIndex, numColumns)」を利用する。

hideColumns(columnIndex, numColumns)

指定されたインデックスから始まる1つ以上の連続する列を非表示にします。この方法には1-indexを使用します。

https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#hidecolumnscolumnindex,-numcolumns

関連記事:【GAS】スプレッドシートの指定行から複数行を非表示にする

hideColumns(columnIndex, numColumns)のパラメーター

名前タイプ説明
columnIndexInteger非表示にする列の開始インデックス。
numColumnsInteger非表示にする列の数。
hideColumns(columnIndex, numColumns)のパラメーター

スプレッドシートの指定列から複数列を非表示にするGAS

function myFunction() {
  //アクティブなスプレッドシートを返す
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //アクティブな0番目のシートを取得!
  var sht = ss.getSheets()[0];
  //見出しテキストを作成
  var midashi = [
    ["概要","内容","項目","ナンバリング","補足"]
  ];
 //見出しテキストを1行目に設置
  sht.getRange("A1:E1").setValues(midashi);
  //見出しテキストを装飾
  sht.getRange("A1:E1").setFontWeight("bold").setFontSize(20);
 //繰返しテキストを変数へ格納
  var array1,array2,array3
    array1 = "Spread";
    array2 = "Sheet";
    array3 = ".BLUE";
    array4 = "補足"
 //変数を繰り返しA~D列の11行目まで入力
  for(let i=2;i<=11;i++){
    sht.getRange(i,1).setValue(array1);//11行目までarray1をセット
    sht.getRange(i,2).setValue(array2);//11行目までarray2をセット
    sht.getRange(i,3).setValue(array3);//11行目までarray3をセット
    var array = array1+array2+array3;  //配列テキストの合体!
    sht.getRange(i,4).setValue(array+(i-1));//11行目まで連番でセット
    sht.getRange(i,5).setValue(array4+(i-1));//11行目まで連番で補足テキストをセット
  }
  sht.autoResizeColumn(4); //4列目幅を最適化
 //メッセージボックスでYESNOを確認
  var num = 2; //function myFunction() {
  //アクティブなスプレッドシートを返す
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //アクティブな0番目のシートを取得!
  var sht = ss.getSheets()[0];
  //見出しテキストを作成
  var midashi = [
    ["概要","内容","項目","ナンバリング","補足"]
  ];
 //見出しテキストを1行目に設置
  sht.getRange("A1:E1").setValues(midashi);
  //見出しテキストを装飾
  sht.getRange("A1:E1").setFontWeight("bold").setFontSize(20);
 //繰返しテキストを変数へ格納
  var array1,array2,array3
    array1 = "Spread";
    array2 = "Sheet";
    array3 = ".BLUE";
    array4 = "補足"
 //変数を繰り返しA~D列の11行目まで入力
  for(let i=2;i<=11;i++){
    sht.getRange(i,1).setValue(array1);//11行目までarray1をセット
    sht.getRange(i,2).setValue(array2);//11行目までarray2をセット
    sht.getRange(i,3).setValue(array3);//11行目までarray3をセット
    var array = array1+array2+array3;  //配列テキストの合体!
    sht.getRange(i,4).setValue(array+(i-1));//11行目まで連番でセット
    sht.getRange(i,5).setValue(array4+(i-1));//11行目まで連番で補足テキストをセット
  }
  sht.autoResizeColumn(4); //4列目幅を最適化
 //メッセージボックスでYESNOを確認
  var num = 2; //hideColumns(columnIndex, numColumns) で非表示開始の列数
  var num2 = 4; //hideColumns(columnIndex, numColumns) で非表示終了の列数
  var result = Browser.msgBox(num+"列目から"+num2+"列目までを非表示にしますか?",Browser.Buttons.YES_NO);
  if(result == "no"){
    Browser.msgBox("列は非表示にしなかったよ!");//noだったらそのまま
  } else {
    sht.hideColumns(num,num2);//hideColumns(columnIndex, numColumns) で開始~終了列まで非表示に
    Browser.msgBox(num+"列目から"+num2+"列目までを非表示にしました!")//メッセージを掲載!
  }
}

スプレッドシートの指定列から複数列を非表示にするGAS実行の様子

hideColumns(columnIndex, numColumns)メソッドを利用して、スプレッドシートの指定列から複数列を非表示にするGASを実行してみました。

スプレッドシートの指定列から連続する複数列を非表示にしない場合

hideColumnsを実行しないとき、指定列から連続する複数列は非表示になりません。

hideColumns(columnIndex, numColumns)-no
hideColumns(columnIndex, numColumns)を実行しない場合

スプレッドシートの指定列から連続する複数列を非表示にする場合

hideColumnsを実行すると、指定列から連続する複数列は非表示となります。

hideColumns(columnIndex, numColumns)-yes
hideColumns(columnIndex, numColumns)を実行する場合

スプレッドシートの指定列から複数列を非表示にするまとめ

GAS×スプレッドシートの指定列から複数列を非表示にするならhideColumns(columnIndex, numColumns)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの指定列から始まる複数列を削除する

関連記事:【GAS】スプレッドシートで指定した列幅を最適化する

関連記事:【GAS】スプレッドシートに列を挿入する

関連記事:【GAS】スプレッドシートで指定した列幅を最適化する

関連記事:【GAS】スプレッドシートに列を挿入する

-列を操作する