スプレッドシートの「シート一覧」を自動で作る爆速テクニック

コピペでできるGAS

GAS シートの操作一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • シートに遷移する目次的なシート一覧が作成できます。
  • シートの移動も簡単にできるようになります。

なので、サクッとマスターして

と答えてあげてください。

動画はこちら

シートはこちら

*クリックすることでシートが開きます。(コピーしてお使いください)

 

事前準備

  1. 「目次」シートの追加
  2. 1行目に「シート名」

 

 

スクリプト

 

const MENU_SHEET = "目次" //目次用のシート名



//シートの一覧を取得
function getListOfSheets() {


  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const sheets = ss.getSheets() //すべてのシートを取得



  const url = ss.getUrl()   //


  const sheetnames = sheets.map(sheet => {
    const sheeturl = `${url}#gid=${sheet.getSheetId()}`
    const hlink = `=HYPERLINK("${sheeturl}","${sheet.getName()}")`
  //  return [hlink, sheet.isSheetHidden()]
    return [hlink]
  })
   console.log(sheetnames)


  const mgws = ss.getSheetByName(MENU_SHEET)
  // console.log(sheetnames.length,sheetnames[0].length)
  mgws.getRange(2, 1, sheetnames.length, sheetnames[0].length).setValues(sheetnames)


}



//シートの位置を変更
function MoveActiveSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const mgws = ss.getSheetByName(MENU_SHEET)


  const manageData = mgws.getRange("A2:B")
    .getValues()
    .filter(line => line[0] != "")


  // console.log(manageData)


  //すべてのシートの一覧を取得
  const sheets = ss.getSheets()
  const sheetnames = sheets.map(sheet => {
    return [sheet.getSheetName(), sheet.isSheetHidden()]
  })


  for (let i = 0; i < manageData.length; i++) {
    if (sheetnames[i][0] != manageData[i][0]) {
      console.log(manageData[i][0])
      const ws = ss.getSheetByName(manageData[i][0])
      ws.activate()
      ss.moveActiveSheet(i + 1)
    }
  }
  mgws.activate()
}

 

 

ポイント

 

関連動画

 

非表示のシートに対応したい場合はこちら↓

 

【GAS】リンク付きシート一覧で非表示のシートを無視する方法
  • GASでシートが非表示かどうかを判別する方法がわかります。
  • 2次元バッファに格納する方法がわかります。
  •  

     

     

     

    最後までご覧いただきありがとうございます。

    つぎは、もう少し深堀りします。↓

    【GAS】リンク付き(目次的な)シート一覧を作成する方法(Gスプレッドシート)
  • HYPERLINK関数の使用方法がわかります。
  • GAS上で関数の引数を設定する方法がわかります。
  • シート一覧から各シートに飛べるようにできます。
  • GAS シートの操作一覧

    コメント

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