こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBA 多段階配列の宣言の仕方

下記のような患者No.001~100の体温をまとめる配列の宣言方法について教えて下さい。
(環境:Excel2003 Windows7 ultimate 64bit)

患者No.001の、
1回目の体温36.5℃、
2回目の体温36.2℃、
3回目の体温36.8℃、


300回目の体温36.1℃
(回数の上限値は不定)


同様に、
患者No.002の、
1回目の体温36.2℃、
2回目の体温36.7℃、
3回目の体温37.9℃、


300回目の体温35.9℃

これを延々と繰り返して、、、

患者No.003~
患者No.004~


患者No.100~
(患者数は100で定数)

こんな感じです。

-----

こうしたデータをまとめるには、
どういった配列を宣言すれば良いでしょうか?
出来る限りスマートな方法で教えて下さい。

配列A(患者No、配列B(n回目、体温)) のように、
配列の中に配列を入れたい(多段階配列、多次元配列)と考えています。

よく分からないポイントは以下の通りです

・配列宣言時の型の書き方
(患者Noは1~100の整数、回数も整数、体温は非整数。
というより、配列の中に配列を入れるので、型は配列型?!)

・予め配列の要素数が決まっていない。(要素数不定)

お詳しい方、宜しくお願い致します。

投稿日時 - 2014-01-22 23:33:53

QNo.8442293

すぐに回答ほしいです

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

体温値の個数の上限が無いのが問題ですね。
Collectionオブジェクトを使われてはいかがですか

標準モジュールにパブリック変数として宣言
配列の添え字が患者No.になります
  Public AA(100) As New Collection

コレクションに体温値を追加
  AA(患者No).Add(体温値)
患者No.25に体温値36.2℃を追加する場合は
  AA(25).Add(36.2)

現在の体温値の数
  Num = AA(25).Count

12番目の体温値を得る
  Temp = AA(25).Item(12)
最後に測定した体温値を得る
  Temp = AA(25).Item(AA(25).Count)

Collection(コレクション)オブジェクトの詳しい使い方などはヘルプを参照してください。
また、ネット上にも解説サイトが沢山ありますので検索してください。

投稿日時 - 2014-01-23 08:18:22

お礼

回答をありがとうございます。
お礼が遅れてしまい、申し訳ありません。

>Collectionオブジェクトを使われては

そのような方法があるとは、まったく知りませんでした。
ありがとうございます。
使い方も、それほど難しくなさそうですし、
早速、使用を検討してみたいと思います。
非常に参考になりました。

投稿日時 - 2014-01-23 15:34:35

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

プロとしては、質問の前に、セルにあるデータを配列にいれなければならない必要性を感じません。

後輩がそういうプログラムを書いたら、叱ります。

投稿日時 - 2014-01-23 00:00:56

お礼

回答をありがとうございます。

データはセルにはなく、サーバー上から引っ張ってくる形になります。
改めて、宜しくお願い致します。

投稿日時 - 2014-01-23 00:04:43

あなたにオススメの質問