実現したいこと
VBAでエクセルのテーブルの”累計”列に累計を計算する式を埋め込みたい。
前提
式を埋め込む前のテーブル
テーブル名:TableA
項目 | 金額 | 累計 |
---|---|---|
1 | 10 | |
2 | 20 | |
3 | 10 | |
4 | 15 |
累計列に式を追加して作成したいテーブル
テーブル名:TableA
項目 | 金額 | 累計 |
---|---|---|
1 | 10 | 10 |
2 | 20 | 30 |
3 | 10 | 40 |
4 | 15 | 55 |
VBA
1Sub 累計を計算する式を追加() 2 Dim Shiki As String, SumClmn As String, tablename As String 3 SumClmn = "[累計]" 4 tablename = "TableA" 5 Shiki = "= Sum(Offset(TableA[[#見出し],[金額]],1,0):[@金額])" 6 ThisWorkbook.ActiveSheet.Range(tablename & SumClmn).Value = Shiki 7End Sub
発生している問題・エラーメッセージ
実行時エラー '1004' アプリケーション定義またはオブジェクト定義エラーです。
該当のソースコード
上記のコードでエラーが発生する箇所は下記の行です。
VBA
1 ThisWorkbook.ActiveSheet.Range(tablename & SumClmn).Value = Shiki
試したこと
該当のソースコードに入力する変数(Shiki)の内容を、”test”にしたところエラーは発生せずに累計列に文字列”test”を入力できました。
そのため、変数Shikiの文字列の内容( "= Sum(Offset(TableA[[#見出し],[金額]],1,0):[@金額])")がエラーの原因であることまで特定できました。
また、変数Shikiの内容をVBAを用いずにマニュアルで入力したところエラーは生じず、正しく累計の計算を行うことができました。
補足情報(FW/ツールのバージョンなど)
エクセルのバージョンはMicrosoft 365です。
回答1件
あなたの回答
tips
プレビュー