[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フィルタで抽出したセルに値を入力するマクロ』(OKM)
特定列をオートフィルタで抽出している状態で実行し 別の列の抽出されているセルに値を入力するマクロはどのような構文になるでしょうか
例 A列の項目名でフィルタを掛け絞っている状態でマクロを実行し、表示されている行のB列のセルに"済"と入力する
ご教示よろしくお願い致します。
Sub test20120604() Dim myR As Long, myC As Long With Worksheets("Sheet1") If .AutoFilterMode Then If .AutoFilter.Filters(1).On Then myR = .AutoFilter.Range.Rows.Count myC = .AutoFilter.Range.Cells(2).Column .Range(Cells(2, myC), Cells(myR, myC)).SpecialCells(xlCellTypeVisible).Value = "済" End If End If End With End Sub
オートフィルタ1列目を絞り込みしている場合に、
2列目可視セルにデータ入力処理する仕様です。
(みやほりん)(-_∂)b
みやほりん様 望み通りのマクロができました!ありがとうございました。 (OKM)
解決後だけどオートフィルターで絞り込んだ行にだけ何かをする場合、SpecialCells(xlCellTypeVisible).Value は不要。
事前の設定チェックを割愛して値のセットだけを書くと
Sub Sample() Sheets("Sheet1").AutoFilter.Range.Columns("B").Value = "済" End Sub
(ぶらっと)
(みやほりん)
>AutoFilterのRangeプロパティだと 普通にしても、可視セルだけになりませんか?
>.Range(Cells(2, myC), Cells(myR, myC)).Value = "済" と書いた時に、どのセルに「済」が入るか? って事ですよね?・・・可視セルだけに入ります。
焦点がずれてたら すみません。
(HANA)
To HANA さん
私がいいたかったことも可視セルというポイントです。 でも、いわれて、私がアップしたコード(領域をAutoFilter.Range で手抜き指定)をあらためて眺め直したら 当然可視セルである、タイトル行にも値がはいってしまいますね。OffSet と Resizeを加えなきゃ。
でも、ポイントは、可視セルということでした。
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.