- ベストアンサー
Excel-vba 文字列と変数を連結して更に変数として扱いたい
Dim strAAA As String Const strBBB As String = "TEST" strAAA = "BBB" 上記のような設定がされているとき、 "str" & strAAA を1つの変数として扱い、 strBBB の設定 "TEST" を参照 する事は可能でしょうか? 尚、環境はExcel2000です。 確かどこかでその使用方法を目にしたことがあった気がしましたが、いざ、 探してみましたら何処だったか、そもそもExcel-vbaだったかすら思い出せません。 お手数をお掛けいたしますが、どうぞご教授をお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>"str" & strAAA を1つの変数として扱い、 strBBB の設定 "TEST" を参照する事は可能でしょうか? VB、VBAではできないと思います。 #1でおっしゃるような連想配列みたいなものとして Scripting.Dictionary オブジェクトが使えます。 キーとなる文字列に値を割り付けることができます。 >確かどこかでその使用方法を目にしたことがあった気が 多分、エクセルVBAで、コントロールコレクションを名前を動的に構成して値を取り出すというようなソースを見たんだと思います。 strBBB というテキストボックスが有る時 Me.Controls("str" & strAAA).Text のようにして、strBBB のテキストを取り出すことができます。
その他の回答 (2)
- Itarufox
- ベストアンサー率31% (10/32)
VBAの中だけではできないと思います。 しかし、Excelはシートの参照が使えます。 strBBB、"TEST"の値をシートに記述しておき、 "str" & strAAA の値で、そのシートを検索するのはどうでしょう。
お礼
ご回答のお礼が遅れまして大変失礼致しました。 大変近いご回答を頂いたのですが、他の方からドンピシャのご回答を頂く事ができました。 こちらのご回答も大変参考となり、次回同様の案件があった場合、迷うことが無くなると 思います。 有難うございました。
- process9
- ベストアンサー率29% (81/271)
process9です。 たぶん、連想配列系をもっている言語群でしょう。 Excel-vbaでは無理です。
お礼
ご回答のお礼が送れまして大変失礼致しました。 他の方で求めておりましたご回答を頂きました。 ただ、変数止まりの場合は無理である事が分かり、次回同じ様な対応が 必要となった場合の参考と致します。 有難うございました。
お礼
ご回答のお礼が遅れまして、大変失礼致しました。 BLUEPIXY様のご回答が、こちらの求めていた回答そのものでございました。 適切で分かり易いご指示を頂き、難なく対応することができました。 大変感謝しております。有難うございました。