- 締切済み
VBでの単純な質問!配列に定数を一発で入れる方法ありますか?
単純な質問です。 Const B = "0123456789" ←定数 DIM A(10) AS String ←配列 と言う定義に対して、 A = B と言った方法で、一発でデータをセットして各配列に、 以下のようなデータをセットしようと思っています。 A(0) = 0 A(1) = 1 A(2) = 2 A(3) = 3 A(4) = 4 ・ ・ A(9) = 9 他の言語では再定義などで可能ですが、 VBではいかにしてやるのでしょうか? 定数を個別に切り分けてセットするのが面倒くさいので、ご存知の方いらっしゃれば、宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
SPLIT関数を使います。 For文以下は確認用です。実質1行ですみます。 Sub test01() a = "a bb c dd e ffff" b = Split(a, " ") For i = 0 To UBound(b) MsgBox b(i) Next i End Sub
> Dim A(10) As String VBの言語仕様で、上記は、A(0) ~ A(10)の要素数10の配列になるので、誤り。 正しくは、 Dim A(9) As String 質問の答えは、 Const B = As String "0123456789" Dim A(9) As String Dim i As Long For i = LBound(A) To UBound(A) A(i) = Mid$(B, i + 1, 1) Next i 「A」、「B」といった1文字のみの定数名は可読性の面で大いに疑問。 (ループカウンタは慣習的に1文字で記述されるので、例外)
お礼
ご回答有り難う御座います。 突っ込みが厳しいな~! 汗!汗!
- hana-hana3
- ベストアンサー率31% (4940/15541)
A = Array(0,1,2,3,4,5,6,7,8,9) という方法ではだめですか?
お礼
早速の有難うございます。 知らない方法でした。 参考になりました。 すみません。 もう少し簡単にしたいです・・・。
お礼
ご回答有り難う御座います。 大変参考になりました。