Überarbeitete Frage: Der folgende Code fügt Filter zu arrResults hinzu. Wenn das Makro Feld 13 mit arrResults() filtert, wird nur nach dem letzten erfassten Wert gefiltert. Beim Debuggen und Anzeigen des Direktfensters sehe ich mehrere Werte innerhalb der arrResults(), aber der Code filtert nur nach dem letzten Eintrag (dh wenn ich auf "Received/Sent/Fail" klicke, würde nur "Fail" zurückkehren.AutoFilter über IF und multiple Kriterien
Option Explicit
Sub Add_Sheet_Update()
Dim LastRow As Long
Dim Rng As Range, str1 As String, str2 As String
Dim i As Long, wsName As String, temp As String
Dim arrResults()
With Sheets("All Call Center Detail")
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
Set Rng = .Range("A1:BT" & LastRow)
End With
With Sheets("Search Form")
str1 = .Range("E9").Text
str2 = .Range("E13").Text
End With
Dim x As Integer, y As Integer
With Range("R1:S99") ' 2 columns, any # of rows
For x = 1 To .Rows.Count
If .Cells(x, 1) Then
y = y + 1
ReDim Preserve arrResults(1 To y)
arrResults(y) = .Cells(x, 2)
End If
Next x
End With
Debug.Print Join(arrResults, "/")
Sheets.Add After:=Sheets("Search Form")
ActiveSheet.Name = ("Results")
Sheets("All Call Center Detail").Select
If Not str1 = "" Then Rng.AutoFilter Field:=6, Criteria1:=str1
If Not str2 = "" Then Rng.AutoFilter Field:=7, Criteria1:=str2
If y > 0 Then Rng.AutoFilter Field:=13, Criteria1:=arrResults
Rng.SpecialCells(xlCellTypeVisible).EntireRow.Copy Sheets("Results").Range ("A1")
Application.CutCopyMode = False
ActiveSheet.ShowAllData
Sheets("Results").Activate
ActiveSheet.Columns.AutoFit
wsName = Format(Date, "mmddyy")
If WorksheetExists(wsName) Then
temp = Left(wsName, 6)
i = 1
wsName = temp & "_" & i
Do While WorksheetExists(wsName)
i = i + 1
wsName = temp & "_" & i
Loop
End If
ActiveSheet.Name = wsName
Range("A1").Select
End Sub
Willkommen bei Stackoverflow, Bill haben Sie einen Screenshot oder zwei der obigen Beschreibung zu unterstützen, hier eine große Website ist [Sie helfen Verbessere deinen Post] (http://stackoverflow.com/help/how-to-ask). Möglicherweise gibt es einige Hinweise, die dir helfen können. Vielleicht kannst du auch den obigen Beitrag kürzen (oder i s alles relevant/notwendig). Bitte nicht falsch verstehen. Aber Sie haben Recht in Ihrem Beitrag und es ist ein bisschen schwierig zu folgen (zumindest für mich). Aber vielleicht musst du nichts ändern und jemand anderes kann dir folgen und dir bei deinem Problem helfen. – Ralph
Hallo Ralph - Danke für die Antwort. Ich habe meinen ursprünglichen Beitrag in der Hoffnung bearbeitet, die Frage klarer zu machen. – Bill