【GAS】シート一覧からシートの位置を自由自在に変更する方法(Gスプレッドシート)

シートの操作

GAS シートの操作一覧

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

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

前回

【GAS】シート一覧の取得と表示/非表示の設定(Gスプレッドシート)
  • シート一覧を取得できるようになります。
  • シートの表示/非表示を切り替えられるようになります。
  • JavaScriptにおけるforEachやmapさらにfilterの例がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


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

    • GASでシートの位置を変更する方法がわかります。
    • 管理シートから一気に変更できるようになります。

    そして

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

    動画はこちら

    スクリプト

    
    //シートの位置を変更
    function MoveActiveSheet() {
      const ss = SpreadsheetApp.getActiveSpreadsheet()
      const mgws = ss.getSheetByName("管理シート")
    
      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()
    //  ss.moveActiveSheet(2)
    
    
    
    }
    

     

    ポイント

    シート位置を変更するには、一旦変更するシートをアクティブに
    する必要があるので、回数を最小限にしていることです。

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

    つぎはこちら

    【GAS】現在のシートを最初/最後に移動させる方法(Gスプレッドシート)
  • シートを最初や最後に移動させることができるようになります。
  • 手軽に関数を呼び出せるようになります。
  •  

    GAS シートの操作一覧

    コメント

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