お世話になります。
エクセルのworkbookモジュールにある以下のマクロをグーグルスプレットシートのスクリプトに記載したいのですが、
どこにどんな記載をすればよいでしょうか。
Private Sub Workbook_Open()
Dim sht As Worksheet, rng As Range
Const shtName = "summary" '←集計用のシート名
Const startPos = "B2" '←シート名書出しスタートセル位置
Set rng = Worksheets(shtName).Range(startPos)
Intersect(Worksheets(shtName).UsedRange, rng.EntireColumn).Offset(rng.Row - 1).ClearContents
For Each sht In Worksheets
If sht.Name <> shtName Then
rng.Value = sht.Name
Set rng = rng.Offset(1)
End If
Next
End Sub
ここまで
私自身VBAの知識はなく、シート名を自動で取得したいということで、以下マクロをこちらで教えていただきました。(https://oshiete.goo.ne.jp/qa/10600590.html)
エクセルでは無事動きました。
以下やってみたこと。
スプレットシートのスクリプトエディタは見つけて、適当にマクロを記録して(以下)function name() から};までを消して上記をコピペしてみましたが、エラーとなりました。
/** @OnlyCurrentDoc */
function name() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('L12').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('1'), true);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Summary'), true);
spreadsheet.getRange('K1').activate()
.setValue('1');
};
どうぞよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
これを動くようにするには、元のVBAの内容を理解し、それと同じ動きをするApp Scriptを作成しなければなりません。
すなわち、VBAの知識とApp Scriptの知識の両方が必要となるわけですね。とは言え両方に精通していなくても、どちらか一方をある程度理解していれば何とかなるとは思いますが、それにしてもマクロの知識がない人にこのハードルは非常に高いです。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセル シート内の一番下のセ...
-
Excelのシート上のShapeにイベ...
-
フォルダ内にある全ファイルの...
-
セルの一部分だけを太字にする方法
-
エクセルで複数のシートのクリ...
-
【エクセル】「実行時エラー’10...
-
エクセルファイルを開いた回数...
-
エクセルのチェックボックス誤作動
-
EXCELのダイアログシートって、...
-
Excelでセル内の文字をファイル...
-
エクセルのマクロ実行後にカー...
-
【エクセルVBAについて】セ...
-
前月分を次月シートに繰越でき...
-
エクセルで○をつけるマクロ設定
-
長い時間かかるマクロが実行中...
-
任意のセルでマクロを実行させたい
-
エクセルで特定の行だけ行削除...
-
複数シートのグループ化ができ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
エクセルで特定の行だけ行削除...
-
長い時間かかるマクロが実行中...
-
エクセル シート内の一番下のセ...
-
【エクセル】フリーワード検索...
-
Excelでセル内の文字をファイル...
-
【エクセル】「実行時エラー’10...
-
シートではなくBOOK間で重複し...
-
フォルダ内にある全ファイルの...
-
EXCELのダイアログシートって、...
-
エクセル:セル内の文字列の最...
-
自分の専門分野の仕事。初見で...
-
セルの一部分だけを太字にする方法
-
エクセルで○をつけるマクロ設定
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
おすすめ情報