Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


26297 / 76732 ←次へ | 前へ→

【55767】Re:シート間のデータ検索
回答  kanabun  - 08/5/19(月) 1:03 -

引用なし
パスワード
   こんばんは。

> わからないのは、2)品名と行番号の対応表を用意する部分
>
> 品名List = 品名.Value この処理ですが品名の値(商品名)だと思いますが、
> For i = 1 To UBound(品名List)この文でFor〜Next文1から最大値(添え字?)
> の範囲を処理する部分が、前に書いてある、
>>'    dic("A品名") = 1
>>'    dic("B品名") = 2
>>'    dic("C品名") = 3
> を辞書に登録してないとうごかないのでしょうか?
> 上記登録は、モジュールにするのだとおもいますが、どこに入力しておくと処理
> されるのでしょうか?

>>  Set dic = CreateObject("Scripting.Dictionary")
>>  For i = 1 To UBound(品名List)
>>   dic(品名List(i, 1)) = i
>>  Next
で、書き込み先の「品名」が 何行目にあるか をDictionary に記憶
しておくということです。

要は、
<シート2>(データベース)
のほうから
データ 100 を  <シート1>の「A品名」の行の 5/15 の列に、
データ 200 を  <シート1>の「A品名」の行の 5/18 の列に、
データ 500 を  <シート1>の「A品名」の行の 5/30 の列に、
データ 100 を  <シート1>の「B品名」の行の 5/15 の列に

転記すればいいのですが、毎回 「A品名」は何行目にあるか?
「C商品」は何行目にあるか?
Find やMatch 関数使って 都度調べるよりも、最初に1回だけの走査で
<シート1>のA列の各品名(行見出し)が何行目にあるか行番号を
あらかじめ記憶しておけば、

データ 100 を <配列>の (1,1) 要素位置に、
データ 200 を <配列>の (1,4) 要素位置に、
データ 500 を <配列>の (1,15) 要素位置に、
データ 100 を <配列>の (2,1) 要素位置に、
  …
簡単にすばやく格納できるということなんです。


>後  Dim date0 As Long
>   date0 = 日付.Item(1).Value2 - 1 'つまり 5/14のシリアル値
> のItem(1).Value2-1 ’5/14を求める理由がわからない
> x = CLng(data(i, 2)) - date0’
> この部分の意味がわかりません

.Value2 プロパティはデータの内部格納値のことで、
Value が 2008/5/15 という日付のとき、 Value2 は 39583 という倍精度値です。
いま、data(i, 2) が 2008/5/15 であれば、
> x = CLng(data(i, 2)) - date0’
は、
  x = CLng(#2008/5/15#) - 39582
すなわち、
  x = 39583 - 39582
で、結局 x = 1 が返ります。書き込む列番号は 1 ということです。


> 後まったくそのまま使用して下記部分でデバッグがでます
> arry(y, x) = data(i, 3) 'インデックスが有効範囲にありませんと表示される
デバッグで中断しているときに、 コード上の y や x や i のうえにマウス
カーソルをあてがうと、それら変数の現在の値が表示されます。
この現在値が Redimで宣言した配列の要素数のなかにおさまってないと
>  インデックスが有効範囲にありません
となります。

1 hits

【55697】シート間のデータ検索 T-k 08/5/16(金) 0:39 質問
【55701】Re:シート間のデータ検索 kanabun 08/5/16(金) 10:18 発言
【55702】Re:シート間のデータ検索 kanabun 08/5/16(金) 10:22 発言
【55708】Re:シート間のデータ検索 T−K 08/5/16(金) 11:50 質問
【55711】Re:シート間のデータ検索 kanabun 08/5/16(金) 14:04 発言
【55724】Re:シート間のデータ検索 T-k 08/5/16(金) 23:51 質問
【55725】Re:シート間のデータ検索 kanabun 08/5/17(土) 0:23 発言
【55726】Re:シート間のデータ検索 kanabun 08/5/17(土) 1:18 発言
【55765】Re:シート間のデータ検索 T-k 08/5/18(日) 23:16 質問
【55767】Re:シート間のデータ検索 kanabun 08/5/19(月) 1:03 回答
【55797】Re:シート間のデータ検索 T-k 08/5/19(月) 23:26 お礼

26297 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free