• ベストアンサー

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に入れるの数値は固定データです。 単純に一つずつ入れてもできるのですが、データが多くて時間がかかるので簡単な方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • takasebou
  • ベストアンサー率42% (61/144)
回答No.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文でくるくる回すと。 こんな感じでどうでしょう?

shippo
質問者

お礼

回答ありがとうございます。 こんな方法があるんですね。 変数が多かったのでずらずら代入するプログラムはあとで見づらくなるかと思い、すっきりした方法を探していました。 おかげでだいぶ見やすいプログラムになりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

何らかの、規則がないなら、1つずつやらないと仕方がないですね。 並びのリストを作っておくといいのかもしれません

shippo
質問者

お礼

さっそくのアドバイスありがとうございます。 やはり不規則な並びでは一つずつ変数に入れてやるしかないですかね。 なんかスマートにやる方法があればと思ったのですが・・・。

関連するQ&A

専門家に質問してみよう