人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBAの質問です。combobox に、調査対象一覧1 という名前をあたえて あるプロシージャで、call xxx(調査対象一覧1)として使っています。combobox に 調査対象一覧2 という名前を与えたときに、t=2 call xxx("調査対象一覧" & t)のように、して、調査対象一覧2 を送り込みたいのですが、可能なのでしょうか? perl や PHP では、$$変数名 という形で変数名の変数のようなことができます。同様のことはVBAでも可能なのでしょうか?

●質問者: kaiketsu
●カテゴリ:コンピュータ
✍キーワード:Perl PHP VBA プロ 名前
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

もちろん可能です。

ここでは、「調査対象一覧1」は文字列です。

xxx()という関数は引数で文字列を渡しているということになります。

xxx("調査対象一覧" & t)では仮にtが数値であっても、

「"調査対象一覧" & t」で「&」で連結することで全体が文字列となります。

このようにVBAでは型においては柔軟な部分があります。

http://q.hatena.ne.jp/


2 ● kn1967
●35ポイント

一例(AccessVBA)

Private Sub コマンド1_Click()
 t = 2
 Call xxx("調査対象一覧" & t)
End Sub

Private Sub xxx(a As String)
 MsgBox (Me(a).Value)
End Sub

(かっこ)で囲めば、その中の値に該当するオブジェクトを指定した事になります。

上記では変数を使いましたが("文字列")でも構いません。


※Me は現在対象としているオブジェクトを暗黙的に示すものです。

特定のFormなどが対象の場合は適宜指定するようにします。

http://q.hatena.ne.jp/ダミー

◎質問者からの返答

なるほど

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ