Excel VBA質問箱 IV

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

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


10329 / 13644 ツリー ←次へ | 前へ→

【22397】オートフィルターについて hisao 05/2/18(金) 10:02 質問[未読]
【22399】Re:オートフィルターについて Jaka 05/2/18(金) 11:04 回答[未読]
【22400】Re:オートフィルターについて hisao 05/2/18(金) 11:09 お礼[未読]
【22445】今ごろわかった不具合。 Jaka 05/2/21(月) 9:39 回答[未読]
【22446】Re:今ごろわかった不具合。 hisao 05/2/21(月) 9:58 お礼[未読]

【22397】オートフィルターについて
質問  hisao E-MAIL  - 05/2/18(金) 10:02 -

引用なし
パスワード
   いつもお世話になります。
オートフィルターで選択された行のみ C列にマーク(*)を入れたいのですが
選択後 a=range("a100").end(xlup).row
    range("C3:C" & a).select
    selection.value="*"
としたところ 1行でも選択されている場合は うまくいった様なのですが
選択行がなかった場合、選択されていない全行にマークが付いてしまいました。
何か良い方法を教えて頂けないでしょうか?

【22399】Re:オートフィルターについて
回答  Jaka  - 05/2/18(金) 11:04 -

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

a = Range("A65536").End(xlUp).Row
Range("C3:C" & a).SpecialCells(xlCellTypeVisible).Value = "*"
 ↑ 直にSpecialCellsを操作すると、うまくいかない時もあるみたいなんで変数にセットした方が安全みたいです。

Dim aa As Range
Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
aa.Value = "*"
Set aa = Nothing

【22400】Re:オートフィルターについて
お礼  hisao E-MAIL  - 05/2/18(金) 11:09 -

引用なし
パスワード
   ▼Jaka さん:
いつも 素早い回答 本当に助かります。有り難う御座いました。

>こんにちは。
>
>a = Range("A65536").End(xlUp).Row
>Range("C3:C" & a).SpecialCells(xlCellTypeVisible).Value = "*"
> ↑ 直にSpecialCellsを操作すると、うまくいかない時もあるみたいなんで変数にセットした方が安全みたいです。
>
>Dim aa As Range
>Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
>aa.Value = "*"
>Set aa = Nothing

【22445】今ごろわかった不具合。
回答  Jaka  - 05/2/21(月) 9:39 -

引用なし
パスワード
   ▼hisao さん:
今ごろですが...。
>選択後 a=range("a100").end(xlup).row
と言うことですので

Dim aa As Range

Range(○○).AutoFilter・・・・ ここでオートフィルタ
a=range("a100").end(xlup).row
Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
aa.Value = "*"
Set aa = Nothing

こんな形で、オートフィルタしてからフィルタした最終行を取得してませんか?
もしそうなら、下のようにオートフィルタする前にA列の最終行を求めて下さい。

a=range("a100").end(xlup).row
Range(○○).AutoFilter・・・・ ここでオートフィルタ
Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
aa.Value = "*"
Set aa = Nothing

【22446】Re:今ごろわかった不具合。
お礼  hisao E-MAIL  - 05/2/21(月) 9:58 -

引用なし
パスワード
   ▼Jaka さん:
そう言う事ですね。本当に有り難う御座いました。

>▼hisao さん:
>今ごろですが...。
>>選択後 a=range("a100").end(xlup).row
>と言うことですので
>
>Dim aa As Range
>
>Range(○○).AutoFilter・・・・ ここでオートフィルタ
>a=range("a100").end(xlup).row
>Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
>aa.Value = "*"
>Set aa = Nothing
>
>こんな形で、オートフィルタしてからフィルタした最終行を取得してませんか?
>もしそうなら、下のようにオートフィルタする前にA列の最終行を求めて下さい。
>
>a=range("a100").end(xlup).row
>Range(○○).AutoFilter・・・・ ここでオートフィルタ
>Set aa = Range("C3:C" & a).SpecialCells(xlCellTypeVisible)
>aa.Value = "*"
>Set aa = Nothing

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