• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロ 変数をワークシート名で使用したい)

エクセルマクロ 変数をワークシート名で使用したい

このQ&Aのポイント
  • エクセル2003を使用している場合、変数をワークシート名で使用する方法はありません。代替案として、If文を使用して値に応じて適切な処理を実行するようにコードを作成する必要があります。
  • 具体的には、dataシートのセルに入力された数字に応じて、対応する月のワークシートに値を転記する処理を作成します。If文を使用し、入力された数字に応じて適切な処理を行うようにします。
  • この方法では、If文を12回使用する必要がありますが、膨大なコード量になることはありません。コードを効率的に書くために、関数やループを使用することもできます。エクセル2003では、特定のワークシートに値を転記するための変数をワークシート名で使用することはできません。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

質問の意味を勘違いしているかもしれませんが、必要なシートのオブジェクトを作れば良いだけでは? Dim ws As Worksheet targetsheetname = Worksheets("data").Range("A1") & "月" Set ws = ThisWorkbook.Worksheets(targetsheetname)

areddin711
質問者

お礼

ありがとうございます!実は質問後すぐに自己解決してしまったのですが、 ソースを今後のPGの参考にさせていただきます!

その他の回答 (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

areddin711
質問者

お礼

ありがとうございます!実は質問後すぐに自己解決してしまったのですが、 ソースを今後のPGの参考にさせていただきます!