• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】 動的な変数(定数)の指定)

VBAの動的な変数(定数)の指定

このQ&Aのポイント
  • VBAでの動的な変数(定数)の指定方法について教えてください。
  • 実際のコードでは複数の定数があり、それぞれの定数に対して処理を行いたいです。
  • Dictionaryオブジェクトを使う必要はありますか?適切なコードを教えてください。

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

  • ベストアンサー
回答No.1

質問の意味が読めないですが、どうやら定数を呼び出したいということらしいのですが、「定数」の使い方を勘違いされているようです。 そのようなループとかのコードを書き、"Scripting.Dictionary"のそのオブジェクトを使って、格納させようとしながら、初歩的な文法を間違えてしまっているのは、どうしたものでしょう。 それから、"Scripting.Dictionary"を使うのが好きな人はいますが、適材適所というものがありますから、今回のような場合は、VBAでは、配列に格納して十分だと思います。 今回のように、格納するデータ数が多くなると、管理しにくいので、Excelでは、ワークシートを利用するということになります。 参考例: シートには、 A1~A10に、 C:\aaa\ C:\bbb\ などと入れます。データの秘匿性が高い時は、隠しシート(プロパティのVisibleでVeryHiddenを手動で設定してください。) '// Sub Test2()  Dim myRng As Range  Dim i As Long  Dim aDest As Variant '配列  Set myRng = Range("A1:A10") '予めシートのA列に、定数を入れておく  ReDim aDest(myRng.Rows.Count - 1)  For i = 0 To UBound(aDest)   If myRng(i + 1) <> "" Then    aDest(i) = myRng(i + 1).Value   End If  Next i    MsgBox aDest(0) End Sub '// なお、質問の意図を間違えていましたら、どうぞ無視して構いません。

その他の回答 (1)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.2

動的にという意味はわからないではないが、本当にやりたいことは Dest01, Dest02.......Dest80 に定数(例: ”c:\aaa”)が入っていてそれを。。。ですよね。 もともとDest01.......にどのように定数を入れるつもりなんでしょうか? for文で回さずに直に配列にいれればよいのでは?

rihitomo
質問者

お礼

ご回答ありがとうございます。 仰る通りよくよく考えればconstで定数を宣言するのであれば、配列で宣言してしまえば済む話でした。 ありがとうございました。

関連するQ&A