カンパ〜イ!←最初の1杯目、なに頼む?

http://www.officepro.jp/excelvba/array/index6.html

このページにある方法で
まとめて配列にinteger型の数値を格納したいと考えています。
この方法だとvariantで配列を定義する必要があるので
とりあえず配列に格納してから
redim preserveでinteger型に変更したいのですが
そのままだと型変更することができません。

http://officetanaka.net/excel/vba/statement/ReDi …

このページにあるように後から配列を型変更するためには
バリアント型変数を配列として使用する必要があるそうなので
Dim myData As Variant
にarray関数で配列の格納を行いましたがうまくいきませんでした。

どうすれば良いでしょうか?

A 回答 (1件)

一旦、variant型で初期値を格納し、それをInteger型の配列に転送しなおすのが最も簡単な方法です。


コードは以下のようになります。
-------------------------------------------
Public Sub testx()
Dim varArray As Variant
Dim intArray() As Integer
Dim i As Integer

varArray = Array(1, 20, 300)
'Integer型に格納
For i = 0 To UBound(varArray)
ReDim Preserve intArray(i)
intArray(i) = varArray(i)
Next
'内容を表示
For i = 0 To UBound(intArray)
Debug.Print intArray(i)
Next

End Sub
-------------------------------------------
実際に必要なのは、'Integer型に変換・・・の部分です。
'内容を表示・・・の部分は確認の為です
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A