Excel VBA質問箱 IV

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

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


9631 / 76734 ←次へ | 前へ→

【72664】Re:数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法
発言  kanabun  - 12/8/31(金) 19:35 -

引用なし
パスワード
   ▼T.K さん:

>全解説を読んで、非常に分かりやすかったです、

>>'------------------------------------------------------- (code)
>>>   For i = 1 To UBound(v)
>>>     If Not dic.Exists(v(i, 1)) Then
>>>       Set dic(v(i, 1)) = _
>>>         CreateObject("Scripting.Dictionary")
>>>     End If
>>>     dic(v(i, 1))(v(i, 4)) = Array(v(i, 2), v(i, 3))
>>>   Next
>>'-----------------------------------------------------------
>上記の部分で、
>Set dic(v(i, 1)) = _
>  CreateObject("Scripting.Dictionary")
>で = _のこのアンダーバーはdicにdicを入れる際の仕様ですか?dicにitemを入れるときは特に_が必要でないと他の例をみると思ったので。

【72632】------------------------------------------------------
> ● _ は 直前の半角スペースといっしょになって、単に改行している
>   ところです。ですから       
>>      Set dic(v(i, 1)) = _            
>>        CreateObject("Scripting.Dictionary")
>は 単に

>    Set dic(v(i, 1)) = CreateObject("Scripting.Dictionary")

>という一行を(一行にすると掲示板上で強制改行されて読みにくくなる
>恐れがあるので) _を使って改行した、ということです。


>>最後に メモリ内のvv配列をシートの(2行目,4列目)以降に貼り
>>付けます.
>>    ↓範囲r内の 2行目4列目のセルのこと
>>>   r.Item(2, 4).Resize(UBound(vv)).Value = vv
>>             ↑vvの最大要素数で 3 が返る
>r.Item(2, 4)は範囲r内の 2行目4列目のセルのことというのは分かります。
> ここから貼りつける、ただその後の.Resize(UBound(vv)).Value = vv
> についていまいち分かりません、
> なぜResizeするのか?
> 結果として、2行目4列目からvvの値を貼り付けていくという事なんだと
> 理解しているのですが、

単に
  r.Item(2, 4).Value = vv

とやっただけだと、配列vv の行数が 1以上あっても、
 r.Item(2, 4)  という単一セルに配列vv の最初の要素が貼り付け
られるだけです。

配列vv の要素数が3 だったら、
   r.Item(2, 4).Resize(3).Value = vv
としないと3行分貼り付きません。

一般に、
>>>   r.Item(2, 4).Resize(UBound(vv)).Value = vv
>>             ↑vvの要素数
としないと、複数要素が貼り付けられません。
6 hits

【72485】数値範囲のデータから数値がその範囲にあるか、もしくは含むかを調べる方法 T.K 12/8/15(水) 20:24 質問
【72486】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:09 発言
【72489】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/15(水) 22:38 発言
【72491】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/15(水) 22:48 発言
【72492】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:37 発言
【72493】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 0:51 発言
【72494】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 8:16 発言
【72495】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/16(木) 9:03 発言
【72500】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/16(木) 12:54 発言
【72505】Re:数値範囲のデータから数値がその範囲に... UO3 12/8/17(金) 21:25 発言
【72596】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 21:46 質問
【72598】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/27(月) 23:55 発言
【72602】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 9:51 質問
【72603】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:07 発言
【72605】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 10:12 発言
【72606】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/28(火) 10:38 発言
【72607】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:27 お礼
【72608】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 11:56 お礼
【72630】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:29 発言
【72631】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:43 発言
【72612】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 15:49 質問
【72613】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/28(火) 18:37 質問
【72628】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 18:53 発言
【72629】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 19:12 発言
【72632】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 20:17 発言
【72634】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:35 発言
【72635】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/29(水) 21:40 発言
【72657】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 15:49 発言
【72659】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 16:25 発言
【72660】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 17:30 質問
【72664】Re:数値範囲のデータから数値がその範囲に... kanabun 12/8/31(金) 19:35 発言
【72666】Re:数値範囲のデータから数値がその範囲に... T.K 12/8/31(金) 19:45 お礼

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