No.1
- 回答日時:
voidはC言語で、型を持たないとか、型が不明とかいう場合に宣言。
vbaではVariantが相当する。
Variant配列例は以下
http://howto-it.com/excelvbaarraypra.html
回答ありがとうございます。
variant型で宣言後redimできますでしょうか?
以下のように、条件によって配列の型を変えたいと思っています。
dim test() as variant
if a=true then
redim test(1to10) as Integer
else if a= false
redim test(1to10) as Currency
end if
No.2
- 回答日時:
たぶん、私の書いている内容は分かりにくいと思いますから、あまり考えこまないでください。
VBAにおいて配列は、初級ではあるのですが、最初、一つを攻略するしかないでしょう。VBAでは、基本的には、DIM hogehoge (As Varinat) Variant型は、可変という意味ですが、何でも入れられます、としておいて、
hogehoge = Array("A","B","C","D", "E")
とすることが多かろうと思います。
本格的には、最初から、
Dim hogehoge(0 to 4) とするか、
Dim hogehoge() として配列だけを宣言しておいて、
Redim hogehoge(4) と後で配列の再宣言をしなおすか、いずれかです。
例外としては、
byteTxt() As Byte の場合、そのまま文字列を流し込めば、バイトの配列になります。
基本的には、初期値(index) は、0 なのですが、VBAでは、特例として 初期値(index) は、1を認めていることになります。Dim hogehoge(1 to 10) として、1を初期値にしてはいけないとも言われますが、0からですと、時としてコードが複雑になることがあります。
参考サイトは、ちょっと難しいかもしれませんが、いろんなことを言う人がいて統一が取れない時は、原点の以下に当たることをお薦めします。
以下は、知っている人は知っているマイクロソフトの『プログラマーズガイド(Office 2000)』(書籍)の一部です。これは、VBAの入門書であり仕様書で、ネットでは一部割愛されていますが、まだ、この時代でも、Microsoft は、公開してくれているのは、とてもありがたいと思っています。
まず、「配列を作る」から始まります。
https://msdn.microsoft.com/ja-jp/library/cc34384 …
「配列とバリアント」
「配列を別の配列に割り当てる」
「関数から配列を返す」
「配列をプロシージャに渡す」
など、順を追ってみていただければよいかと思います。
なお、最近、ワークシートのセルの範囲を配列化して使うようになった理由として、.Net Framework の影響があるのではないかと思われます。
回答ありがとうございます。
variant型で宣言後redimできますでしょうか?
以下のように、条件によって配列の型を変えたいと思っています。
dim test() as variant
if a=true then
redim test(1to10) as Integer
else if a= false
redim test(1to10) as Currency
end if
No.3ベストアンサー
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセル、日々の集計整理方法。 1 2022/10/01 20:49
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
- Excel(エクセル) セルを数式で指定する方法 5 2022/04/13 16:55
- Excel(エクセル) エクセル 5 2022/07/06 14:19
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- Visual Basic(VBA) VBA。壁の間隔Xミリの中に、5種類の異なる巾の板を敷き詰め、X以下でXに近い板の組み合わせを算出 6 2023/04/23 21:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
先頭アドレスとは何ですか?
-
配列を使わずに、変数名を動的...
-
unsigned char配列への入力の仕方
-
Excel、VBAのユーザーフォーム...
-
【C言語】配列の中に配列を入れ...
-
ExcelVBAで質問です。離れた二...
-
テキストファイルから文字列を...
-
パイソンの
-
C言語で巨大配列を作るにはどう...
-
【速いブラインドタッチ】手を...
-
複数の選択範囲の行番号を個別...
-
C# 配列の変数宣言について。
-
配列の参照渡しで型が一致しま...
-
【VBS】 フォルダ直下のファイ...
-
プログラムが書けません。
-
配列同士の文字列の比較
-
配列を空にすること.
-
C言語でのカンマ区切りについて
-
ポインタの配列のコンマについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
配列で格納したものをmsgboxで...
-
配列の参照渡しで型が一致しま...
-
C# Listを使わずに2次元配列の...
-
VBで構造体の配列を関数に渡す...
-
複数の選択範囲の行番号を個別...
-
パイソンの
-
先頭アドレスとは何ですか?
-
【速いブラインドタッチ】手を...
-
C# 配列の変数宣言について。
-
C言語初心者 ポインタについて...
-
unsigned char配列への入力の仕方
-
テキストファイルから文字列を...
-
ExcelVBAで質問です。離れた二...
-
Redimした動的配列はEraseする...
-
C言語で特定列だけを抽出して配...
-
擬似コード 長さがmの配列でな...
-
メモリの初期値
-
C言語初心者 構造体 課題について
おすすめ情報