- ベストアンサー
VB6で変数の配置転換
VB6を使用して、例えば「a(0)~a(7)」までの変数と「b(0)~b(7)」までの変数を宣言している時、a(0)~a(7)には元々数値が入っていて、それをb(0)~b(7)に並びを変えて数値を入れるのに簡単な方法はありますか? 例) a(0)=0 a(1)=1 a(2)=2 ・・・ a(7)=7 b(0)=a(5) b(1)=a(3) b(2)=a(1) ・・・ b(7)=a(2) などに置き換えたい場合です。 bに入れる数値のa()の並びは一定です。 aに入れるの数値は固定データです。 単純に一つずつ入れてもできるのですが、データが多くて時間がかかるので簡単な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず規則性がないなら、何かしらの方法で一つずつ設定はしなければ仕方ないと思いますが、 Const acNum as string = "3,2,5,4,1,7,6" dim acData() as string dim alLoop as long dim alHairetuNo as long acData = split(acNum,",") for alloop = 0 to ubound(acData) alHairetuNo = cLng(acData(alLoop)) b(alloop) = a(alHairetuNo) next Erase acData acNum の中にカンマ区切りで順番をいれておいて、それをSplitステートメントで配列 acDataの中に読み込みます。 で、あとはFor Next文でくるくる回すと。 こんな感じでどうでしょう?
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
何らかの、規則がないなら、1つずつやらないと仕方がないですね。 並びのリストを作っておくといいのかもしれません
お礼
さっそくのアドバイスありがとうございます。 やはり不規則な並びでは一つずつ変数に入れてやるしかないですかね。 なんかスマートにやる方法があればと思ったのですが・・・。
お礼
回答ありがとうございます。 こんな方法があるんですね。 変数が多かったのでずらずら代入するプログラムはあとで見づらくなるかと思い、すっきりした方法を探していました。 おかげでだいぶ見やすいプログラムになりました。