Mein Code einen Fehler geben“1004:.. Wählen Sie Methode der Range-Klasse ist fehlgeschlagen-Bereich nicht vba Auswahl
Sub AdvencedFilterNew()
'
' AdvencedFilterNew Macro
'
Dim WsOutput As Worksheet
Dim WsMain As Worksheet
Dim wsScenarios As Worksheet
Dim ScenarioIDrow As Long
Dim ScenarioIDColumn As Long
Dim rgn As Range
Dim p As String
Dim q As String
Range("E15").Select
Range("E17:Q350").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("E14:Q15"), Unique:=False
Set WsOutput = Worksheets("Output")
Set WsMain = Worksheets("Main Menu")
Set wsScenarios = Worksheets("Scenarios.New")
ScenarioIDrow = WsOutput.Cells.Find("Scenario ID").Row
ScenarioIDColumn = WsOutput.Cells(ScenarioIDrow, Columns.Count).End(xlToLeft).Column
p = wsScenarios.Cells(ScenarioIDrow, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
q = wsScenarios.Cells(ScenarioIDrow, ScenarioIDColumn).Address(RowAbsolute:=False, ColumnAbsolute:=False)
If WsMain.Range("E15") > 0 Then
WsOutput.Range(p, q).Select
WsMain.Cells.Find("E15").Select
Else
End If
End Sub
Also, ich bin eine Auswahl anhand der Adresse p ein q Auswahl Welche sind A22 und ATX22.Ich weiß nicht, warum ich es auswählen kann.Es funktioniert in einigen anderen Codes, die ich verwende.Ein anderes Problem, wenn die Nummer 4 ist, findet es auch alle anderen Zahlen, die 4 enthält, zum Beispiel 1014, 1024 usw. Kann jemand helfen mich hier? Vielen Dank!
Die Methode 'Range.Find' findet Zellen basierend auf ihrem Inhalt nicht adressiert. https://msdn.microsoft.com/en-us/library/office/ff839746.aspx Also ich glaube, Sie wollen 'WsMain.Range (" E15 ")' wo Sie 'WsMain.Cells.Find (" E15 ") verwenden ' – JamesFaix
Danke James, du hast Recht! –