つらつら Excel VBA

私の備忘録です。

オートフィルタ

オートフィルタ解除後にも絞り込み状態を継続させたい

非表示行を覚えておいて、復元させるだけです。 (オートフィルタを解除しなければいいだけの話では・・・?) Sub オートフィルタで絞り込んで解除して非表示状態を復元する処理() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("エクセルシート")…

オートフィルタ使用時のセル位置復元

オートフィルタの絞り込み条件を解除するとセル位置がどこいった状態になるのを対策。 保存するか確認されるのは嫌なので回避する処理も入れてみた。かなり快適。 Sub オートフィルタリセット処理() On Error Resume Next '本処理だけが更新内容なら保存しな…

オートフィルタの結果に対して処理

ws.Range("A2").AutoFilter Field:=3, Criteria1:="誕生" For Each r In ws.AutoFilter.Range.SpecialCells(xlCellTypeVisible) If r.Row > 2 And r.Column = 4 Then 'オートフィルタ範囲の可視セルで2行目以降のD列だけ処理 End If Next 無理やりです。出来…

オートフィルタの絞り込み結果件数取得

ws.Range("A2").AutoFilter Field:=2, Criteria1:="ピカちゅう" If WorksheetFunction.Subtotal(3, Range("C:C")) = 1 Then '結果が0件の場合の処理。 End If この処理は、オートフィルタを実施して、C列をCOUNTAした結果、タイトル行の1件しか無かった=フ…

オートフィルタの複数条件設定

'それぞれの列で条件を指定したい時、それぞれ指定すればよい With ws.Range("A1") .AutoFilter Field:=2, Criteria1:="ピカちゅう" .AutoFilter Field:=3, Criteria1:="誕生" End With '配列を渡して一括設定。Arrayとかもできる。 Dim dic, ar '略。条件用…

オートフィルタで重複データを抽出

Sub Macro1() ' 重複データに色をつける条件付き書式 Range("B:B").Select Range("B:B").FormatConditions.Delete Selection.FormatConditions.AddUniqueValues '条件付き書式の追加 Selection.FormatConditions(1).DupeUnique = xlDuplicate '重複 Selectio…

偶数、奇数行だけ消したい

=mod(row(),2) 後はオートフィルタでOK

オートフィルタ

'オートフィルタで絞り込み、必要列だけデータを取得する。 searchData = "*条件を含む*" wsh.AutoFilterMode = False 'オートフィルタ解除 wsh.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=searchData Set targetRange = wsh.Range("A1").C…