プログラミングの部屋  ▲前 へ ▼次 へ 一覧へ戻る  プログラミングの部屋 メニューへ  WebBoard総合メニューへ
この投稿に対し、フォローを投稿する
日 時'04年 7月19日 19:05:19
タイトルRe(3):VBAで引数の値を変数名にするには (閲覧回数:2210回)
投稿者(^_^;)さん 

>[7月19日 15:49 ヤマシタさんの投稿]
>>[7月18日 21:54 (^_^;)さんの投稿]
>>>[7月18日 17:48 ヤマシタさんの投稿]
>>>VBAで引数の値を変数名にするにはどのようにすればいいのでしょうか。
>>>
>>>Function f(id As String, val As String) As String
>>>Static (此処でidの値を使いたい。) As String
>>>(idの値を使用した変数名)=val
>>>
>>>
>>>End Function
>>>
>>>
>>>ご存知の方いらっしゃいましたらご教示頂ければ幸いです。
>>
>>たぶん無理です。(私の知る限りですが)。
>>idの値には文字列が入っているわけですよね、でしたら
>>例えば、idに"ABC"という値が入っていたとしたら
>>"ABC"=val
>>という具合になり、左辺と右辺の関係が保たれなくなります。
>>
>>また、valという変数名を使われていますが、このval自体は
>>予約語ですので変数名としては使えません。
>>
>>どうしてもおこないたいのであれば、
>>上記を書き直すと次のようになるかと思います。
>>
>>Function f(id As String, sVal As string) As String
>> Static id_atai As String
>> id_atai = sVal
>>
>>End Function
>>
>>
>
>ご丁寧に有難う御座います。
>無理なのですか。。。残念です。
>
>ご教示いただいた方法だと、全ての値が一つの変数に格納されてしまい
>都合が都合が悪くなってしまうのです。
>
>f(id_a,a);
>f(id_a,b);
>f(id_b,c);
>f(id_b,d);
>とした場合、関数内で、変数id_aにa-b、変数id_bにc-dと格納したい
>のです。
>
>ご教示頂き有難う御座いました。

使用例を見ただけでは何をなさりたいのかが
よく把握できないのですが、一つの変数に
全ての値を格納しないようにするのであれば、
その格納する変数の値により格納先を変更するか、
もしくは引数を追加して、格納先を変更する方法を
取ることも可能かと思いますし、
グローバル変数を使うことも可能ではないかと思います。

フォロー元の投稿
 ◆[ 7/18 17:48] VBAで引数の値を変数名にするには // ヤマシタさん
  >[ 7/18 21:54] Re(1):VBAで引数の値を変数名にするには // (^_^;)さん
  >>[ 7/19 15:49] Re(2):VBAで引数の値を変数名にするには // ヤマシタさん
<この投稿に対し、以下のフォローがあります>
 ・[ 7/20 09:33] Re(4):VBAで引数の値を変数名にするには // 通りすがりさん