No.1ベストアンサー
- 回答日時:
>日付を配列のインデックスにしたいと思ってますが
配列にする日付はどのようにしてますか?
2010年11月3日の場合
西暦4桁 20101103 ×配列が大きすぎる
西暦2桁 101103 ○配列が大きいので、メモリを使用するので遅くなる
シリアル値 40485 ◎配列は一番小さい
配列の宣言は忘れないでください。
シリアル値の場合
Dim Hairetsu(50000)
※50000=2036年11月21日
呼び出しは Hairetsu(Clng(日付))
西暦3桁の場合
Dim Hairetsu(361121)
呼び出しは Hairetsu(Clng(Format(日付,"yymmdd")))
No.2
- 回答日時:
>日付を配列のインデックスにしたいと思ってますが,
普通、そんなことはしませんよ。
日付の範囲が限られている場合、開始日からの日数をインデックスにするという方法も考えられますが、
普通は、日付を覚えておくための配列と、データを覚えておくための配列を作っておいて、
与えられた日付を、日付用配列のデータから検索して、配列のインデックスを探し出す、
ということをします。
検索の方法は、ハッシュ法、2分検索法、(グーグルすれば見つかります)などを使います。
No.3
- 回答日時:
>そのまま配列に組み込んでもエラーで止まってしまいます。
どんなコードでしょう。それを見ても修正こそすれ、笑う人はいないと思いますが、最近は、考え方だけで質問する人が多いようです。その分回答も同様のものになってしまいます。
>日付を配列のインデックスにしたい
概念的な問題だと思いますが、何か、誤解していらっしゃるようです。Excelのワークシートの構造に、配列に似たものとしては、シートがあります。そのシートには、Index は、必ず、1 から順に入っています。そのIndex を日付に換えますか?そんなことはできませんね。
必要に応じてシート名を変えれば済みます。もし、配列するなら、配列の二次配列するとか、ひとつの配列構造と同じものを用意するということをすればよいです。
>日付ごとにデータをまとめたくて
概念的なお話なので、話はここまでですが、データが複数ある時は、Dictionary などを利用します。しかし、そういう技術を用いなくても、たぶん、そういう質問の出てくるレベルですと、ワークシートをデータストックの代わりに使えばよいと思います。そこまで、自力では組めないような気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 指定した列にある日時データから時間を削除する方法について 4 2022/04/14 11:17
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- Visual Basic(VBA) VBAでPowerPointからExcelにレイアウト通りに出力する 4 2023/07/05 12:22
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) Activesheet.Pasteで困っています 1 2023/01/22 07:41
- Excel(エクセル) 同じ品番のマスタで最新日付のものに〇印を入れたい 3 2023/03/31 17:45
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) マクロ ScrollColumn について 2 2022/04/07 09:31
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
VB.NETの配列にExcelから読み込...
-
エクセルでXY座標に並べられた...
-
Excel2010のinputboxで複数デー...
-
Dir関数で読み取り順を操作でき...
-
free()関数の多用 と Segment...
-
Redim とEraseの違いは?
-
2次元配列のソート
-
excel vbaの配列なんですが・・・
-
配列入れ替えの効率的方法は
-
ポーカーを作りたいのですが・・・
-
エクセル(VBA)の空白配列の削除...
-
C#,繰り返し処理での最大値の取...
-
VBAでMODE関数をつくる
-
VB6からの移行したいけど、VB.N...
-
VBAで配列引数を値渡しできない...
-
MATLABを使ったSTLデータのボク...
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
2次元配列でウォッチが出来ない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
Excel2010のinputboxで複数デー...
-
エクセルでXY座標に並べられた...
-
構造体配列の特定のメンバーをF...
-
定数配列の書き方
-
コンボボックスのインデックス...
-
OutOfMemoryExceptionの回避策...
-
Dir関数で読み取り順を操作でき...
-
CheckBoxの配列化
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
Redim とEraseの違いは?
-
VBAで配列引数を値渡しできない...
-
2次元配列の初期値
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
VB6からの移行したいけど、VB.N...
-
VB6のメモリ解放に関して
おすすめ情報