- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロ 変数をワークシート名で使用したい)
エクセルマクロ 変数をワークシート名で使用したい
このQ&Aのポイント
- エクセル2003を使用している場合、変数をワークシート名で使用する方法はありません。代替案として、If文を使用して値に応じて適切な処理を実行するようにコードを作成する必要があります。
- 具体的には、dataシートのセルに入力された数字に応じて、対応する月のワークシートに値を転記する処理を作成します。If文を使用し、入力された数字に応じて適切な処理を行うようにします。
- この方法では、If文を12回使用する必要がありますが、膨大なコード量になることはありません。コードを効率的に書くために、関数やループを使用することもできます。エクセル2003では、特定のワークシートに値を転記するための変数をワークシート名で使用することはできません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問の意味を勘違いしているかもしれませんが、必要なシートのオブジェクトを作れば良いだけでは? Dim ws As Worksheet targetsheetname = Worksheets("data").Range("A1") & "月" Set ws = ThisWorkbook.Worksheets(targetsheetname)
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
回答No.2
一例です。 Sub test() Dim ws(1 To 12) As Worksheet Dim i As Long, x As Long For i = 1 To 12 Set ws(i) = ThisWorkbook.Worksheets(i & "月") Next x = Worksheets("data").Range("A1").Value ws(x).Range("B1").Value = "このシート!( ̄ー ̄)v " End Sub
質問者
お礼
ありがとうございます!実は質問後すぐに自己解決してしまったのですが、 ソースを今後のPGの参考にさせていただきます!
お礼
ありがとうございます!実は質問後すぐに自己解決してしまったのですが、 ソースを今後のPGの参考にさせていただきます!