我的代碼是給了一個錯誤」 1004:。Range類的選擇方法失敗程不選擇VBA
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
所以,我基於p的Q中的地址的選擇範圍哪些是A22和ATX22。我不知道爲什麼我可以選擇它,它用在我使用的其他代碼中,另一個問題是,如果數字是4,它也會找到其他所有包含4的數字,例如1014,1024等等。我在這裏?謝謝!
'Range.Find'方法根據其內容找不到地址。 https://msdn.microsoft.com/en-us/library/office/ff839746.aspx所以我相信你想'WsMain.Range(「E15」)'你在哪裏使用'WsMain.Cells.Find(「E15」) ' – JamesFaix
謝謝詹姆斯,你是對的! –