2019年12月12日木曜日

【マクロ】抽出に利用している項目名を取得する

オートフィルターで絞っている列の項目名を抽出する。



Sub 絞り込みを行っているフィールド名を調べる()

 Dim aft As AutoFilter
 Dim fld As String ' フィールド名
 Dim i As Long
 If Not ActiveSheet.FilterMode Then Exit Sub
 Set aft = ActiveSheet.AutoFilter
 For i = 1 To aft.Filters.Count
  If aft.Filters(i).On Then
   fld = fld & _
'    aft.Range.Cells(1, i).Value & vbCrLf '改行して表示
    aft.Range.Cells(1, i).Value & "/" 'スラッシュで区切って表示
  End If
 Next i

   Worksheets("Sheet1").Select
    Range("H3") = fld  '値を返す
'右側から一文字削除する
    Range("H3") = Mid(Range("H3"), 1, Len(Range("H3")) - 1)
End Sub

0 件のコメント:

コメントを投稿