Excel VBA質問箱 IV

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

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


19899 / 76732 ←次へ | 前へ→

【62259】Re:AdvancedFilterがうまくいきません
お礼  hiro  - 09/7/4(土) 19:38 -

引用なし
パスワード
   kanabun さん、ありがとうございます。
>いちど、フィルタをかける前に
>MsgBox Worksheets("作業明細").Range("A3").CurrentRegion.Columns(3). _
>    Address
>のデバッグ行をマクロの最初に挿入して、
>3行目が先頭行になっているか、とかを、確認されてみてはいかがでしょうか?
上のデバッグ行をマクロに挿入して、実行してみました。
なんと、$C$1:$C$18とMsgBOXに表示され驚きました。C3からではなくC1から選択されていました。

>たとえば、[A1:A2]が結合されていたり、[A2]セルが空白でなく スペースが
>入っていたりすると、
>> .Range("A3").CurrentRegion
>は、シートの1行目からの表範囲になってしまうので、
2行目の行番号を選択し、DELキーで2行目全体を消去し、再度マクロを実行しました。するとMsgBoxには$C$3:$C$18と表示され、日付集計1シートにはユニークな日付データが表示されていました。
このデバッグ行はたいへん素晴らしいですね。とても勉強になりました。
このデバッグ行は .Range("A3").CurrentRegionが選択した範囲が確認でき、実行できたり出来なかったり不安な気持ちで使ってきたマクロでしたが、自信をもって
マクロを使っていける気持ちになりました。

>状態になります。こちらでも確認できました。
>もし CurrentRegion.Columns(3) で範囲を正しく特定できないときは、
>  With Worksheets("作業明細")
>    .Range("C3", .Cells(.Rows.Count,3).End(xlUp)).AdvancedFilter ...
>のように、C列の見出しセルからデータ最終セルまでとかで、範囲を特定
>するようにします。
このステートメントも参考にさせていただきます。
数日間悩んでいた問題が解決しました。ありがとうございました。たいへん勉強になりました。
また、質問させていただく機会がありましたら、よろしくお願いいたします。
ありがとうございました。

894 hits

【62250】AdvancedFilterがうまくいきません hiro 09/7/4(土) 3:17 質問
【62251】Re:AdvancedFilterがうまくいきません かみちゃん 09/7/4(土) 8:13 発言
【62252】Re:AdvancedFilterがうまくいきません hiro 09/7/4(土) 9:34 発言
【62254】Re:AdvancedFilterがうまくいきません かみちゃん 09/7/4(土) 13:47 発言
【62258】Re:AdvancedFilterがうまくいきません hiro 09/7/4(土) 19:09 お礼
【62256】Re:AdvancedFilterがうまくいきません kanabun 09/7/4(土) 15:53 発言
【62259】Re:AdvancedFilterがうまくいきません hiro 09/7/4(土) 19:38 お礼
【62257】Re:AdvancedFilterがうまくいきません kanabun 09/7/4(土) 16:50 発言
【62260】Re:AdvancedFilterがうまくいきません hiro 09/7/4(土) 20:25 お礼

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