Excel VBA質問箱 IV

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

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


5267 / 76735 ←次へ | 前へ→

【77081】Re:検索して集計するマクロ
発言  kanabun  - 15/5/15(金) 0:15 -

引用なし
パスワード
   追加で、
Matchしたときに帰ってくる数値ですのことですが...

> Set sh2 = Workbooks("集計表.xlsm").Worksheets(2)
> Set RangeF = sh2.Range("F6:F115")

>    ' 集計表ブックのF6からF115範囲に マッチするセルがあるか?
>    MyR = Application.Match(.Cells(k, "C"), RangeF, 0)

.Cells(k, "C") を 範囲RangeF からMatch検索していますが、
このとき MyR に 1 という数値が返ってきたとしますと、それは
RangeFという範囲の 1番目のセル で一致という意味であることはご存知ですよね?

RangeF という範囲の1番目のセルを RangeF.Item(1) と表現します。
RangeF は sh2 の.Range("F6:F115") の範囲のことですから、その1番目のセルは
具体的にはシート上の[F6]セルのことなのですが、いつもシート上の絶対番地に
なおさず、「検索範囲の何番目」というママの数値を使ったほうが 複雑にならずに
済みます。
ところで コードでは RangeF.Item(MyR) とあらわさず、

> RangeF.Item(MyR, 7)

という表記をしていますが、これは RangeF範囲の (1行目、7列目)のセル という
意味です。

RangeF.Item(1,1) が [F6]
RangeF.Item(1,2) が [G6]
RangeF.Item(1,3) が [H6]
RangeF.Item(1,4) が [I6]
  :
RangeF.Item(1,7) が [L6]

ということで、 RangeF.Item(MyR, 7) は RangeF列の MyR行目のセルの 右側7列目の
セル、ということになります。
下の
RangeF.Item(1,11) も 同じ考えで [P6] セルとなります。

なお、Itemは省略可能ですから
RangeF(1,11) と書くことも可能です。


あと、
   MyR = Application.Match(.Cells(k, "C").Value, RangeF, 0)
と検索値を Valueをつけるのは良くないです。
なぜなら Matchワークシート関数で検索値は セルの.Value値ではなく
セルの .Value2 値 だからです。たいていのばあい、 セルのValue2値 は セルの
Value値と同じですが、日付のときはValue2値は 42345 などのシリアル数値です。
Value値(2015/5/15) でMatch検索しても絶対にヒットしません。

   MyR = Application.Match(.Cells(k, "C").Value2, RangeF, 0)

↑このように、つけるなら Value2
通常は何もつけないで セルを書いておけばいいです。↓

   MyR = Application.Match(.Cells(k, "C"), RangeF, 0)
1 hits

【77079】検索して集計するマクロ yumeyume 15/5/14(木) 20:54 質問[未読]
【77080】Re:検索して集計するマクロ kanabun 15/5/14(木) 23:42 発言[未読]
【77081】Re:検索して集計するマクロ kanabun 15/5/15(金) 0:15 発言[未読]
【77082】Re:検索して集計するマクロ yumeyume 15/5/15(金) 13:53 質問[未読]
【77084】Re:検索して集計するマクロ kanabun 15/5/15(金) 15:09 発言[未読]
【77090】Re:検索して集計するマクロ yumeyume 15/5/15(金) 20:04 お礼[未読]
【77091】Re:検索して集計するマクロ kanabun 15/5/15(金) 20:34 発言[未読]
【77092】Re:検索して集計するマクロ yumeyume 15/5/15(金) 21:18 お礼[未読]
【77083】Re:検索して集計するマクロ yumeyume 15/5/15(金) 14:20 質問[未読]

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