このコードは大部分は機能しますが、フィルタリングされたデータだけでなく、データセット内のすべてのデータをコピーします。私はそれを踏んだときにフィルタが正しく動作していますが、すべてをコピーします。私は間違って何をしていますか?フィルタリングされたデータのみをコピーするコード
Sub Auto_Filter()
Dim RNG As Range
Dim Open_Jobs_Report As Worksheet
Set Open_Jobs_Report = ThisWorkbook.Sheets("Open Jobs Report")
Dim Calculations As Worksheet
Set Calculations = ThisWorkbook.Sheets("Calculations")
Dim PersonResponsible As Range
Dim Violations As Range
Dim CLM1 As Long
Dim CLM2 As Long
With Sheets("Open Jobs Report")
Set RNG = .Range("A1", .Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, .Cells(1, .Columns.Count).End(xlToLeft).Column))
RNG.AutoFilter Field:=19, Criteria1:="<>"
CLM1 = .Range("1:1").Find(What:="Person Responsible").Column
Set PersonResponsible = .Range(.Cells(1, CLM1), .Cells(1, CLM1).End(xlDown))
CLM2 = .Range("1:1").Find(What:="Violations").Column
Set Violations = .Range(.Cells(1, CLM2), .Cells(1, CLM2).End(xlDown))
End With
Calculations.Range("A:A").Value = PersonResponsible.Value
Calculations.Range("B:B").Value = Violations.Value
With Sheets("Open Jobs Report")
ActiveSheet.ListObjects(1).AutoFilter.ShowAllData '<= Fix this
End With
End Sub
。これはうまくいきましたが、いくつか変更を加えましたが、何が隠れたフィールドを含むようになるのかは分かりません。 – TonyP
@TonyP、二重コメント。 – KyloRen
@TonyP、更新されたコードを試してください。 – KyloRen