初めて自分の家と他人の家が違う、と意識した時

Dim strAAA As String
Const strBBB As String = "TEST"

strAAA = "BBB"

上記のような設定がされているとき、

"str" & strAAA を1つの変数として扱い、 strBBB の設定 "TEST" を参照
する事は可能でしょうか?

尚、環境はExcel2000です。

確かどこかでその使用方法を目にしたことがあった気がしましたが、いざ、
探してみましたら何処だったか、そもそもExcel-vbaだったかすら思い出せません。

お手数をお掛けいたしますが、どうぞご教授をお願いいたします。

A 回答 (3件)

>"str" & strAAA を1つの変数として扱い、 strBBB の設定 "TEST" を参照する事は可能でしょうか?


VB、VBAではできないと思います。
#1でおっしゃるような連想配列みたいなものとして
Scripting.Dictionary オブジェクトが使えます。
キーとなる文字列に値を割り付けることができます。

>確かどこかでその使用方法を目にしたことがあった気が
多分、エクセルVBAで、コントロールコレクションを名前を動的に構成して値を取り出すというようなソースを見たんだと思います。
strBBB というテキストボックスが有る時
Me.Controls("str" & strAAA).Text
のようにして、strBBB のテキストを取り出すことができます。
    • good
    • 4
この回答へのお礼

ご回答のお礼が遅れまして、大変失礼致しました。

BLUEPIXY様のご回答が、こちらの求めていた回答そのものでございました。

適切で分かり易いご指示を頂き、難なく対応することができました。

大変感謝しております。有難うございました。

お礼日時:2006/03/19 17:01

VBAの中だけではできないと思います。



しかし、Excelはシートの参照が使えます。
strBBB、"TEST"の値をシートに記述しておき、
"str" & strAAA の値で、そのシートを検索するのはどうでしょう。
    • good
    • 1
この回答へのお礼

ご回答のお礼が遅れまして大変失礼致しました。

大変近いご回答を頂いたのですが、他の方からドンピシャのご回答を頂く事ができました。

こちらのご回答も大変参考となり、次回同様の案件があった場合、迷うことが無くなると
思います。

有難うございました。

お礼日時:2006/03/19 16:58

process9です。



たぶん、連想配列系をもっている言語群でしょう。

Excel-vbaでは無理です。
    • good
    • 0
この回答へのお礼

ご回答のお礼が送れまして大変失礼致しました。

他の方で求めておりましたご回答を頂きました。

ただ、変数止まりの場合は無理である事が分かり、次回同じ様な対応が
必要となった場合の参考と致します。

有難うございました。

お礼日時:2006/03/19 16:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A