|
▼さとちぃ さん:
>マクロの記録・・・・本当に便利ですね!
まぁ、ついでだから、
> Sub Macro2()
> ' Macro recorded 2015/2/25 by kanabun
> '
> Range("A7:D14").AdvancedFilter _
> Action:=xlFilterInPlace, _
> CriteriaRange:=Range("C1:C4")
>
> Range("D9:D12").FormulaR1C1 = "○"
> ActiveSheet.ShowAllData
> End Sub
というマクロの記録で作ったものをもう少し汎用的にしたサンプルを示しておきます。
Sub AdvancedFilter()
Dim r As Range '抽出元表範囲
Dim c As Range '抽出条件範囲
Set r = Range("A7").CurrentRegion
Set c = Range("C1").CurrentRegion
'r表から c条件に合うデータをフィルタオプションで抽出する
r.AdvancedFilter xlFilterInPlace, c
'1行以上抽出行があれば、D列の「可視セルだけ」に "○"
If r.Columns(1).SpecialCells(xlVisible).Count > 1 Then
With r.Columns(4)
'表の1行目は項目名なので 範囲から除外する
Intersect(.Cells, .Offset(1)).Value = "○"
End With
End If
r.Worksheet.ShowAllData
End Sub
|
|