Excel VBA – 查找function – 查找variables
我的代码段如下;
Dim Column1 As String Worksheets("Graph").Activate Column1 = Cells(1, "P").Value Dim Column2 As String Worksheets("Graph").Activate Column2 = Cells(2, "P").Value Cells.Find(What:=Column1).Activate StartP3Column = ActiveCell.Column Cells.Find(What:=Column2).Activate StartP4Column = ActiveCell.Column EndP3Column = StartP4Column - 1 Cells.Find(What:="End Column").Activate StartEndColumn = ActiveCell.Column EndP4Column = StartEndColumn - 1
我试图做到这一点,所以P1和P2中的值将决定macros运行时select哪些列。 所以在前两个Cell.Find(What:=)
函数中,我想让“Column1” Cell.Find(What:=)
Column1variables(P1中的值)。
当我运行的macros,我得到错误“运行时错误:91块variables未设置的对象variables”,当我debugging,问题是行Cells.Find(What:=Column1).Activate
有任何想法吗?
如果您search工作表Sheet1
上的这些数据,将运行:
Dim wsG As Worksheet Dim wsS As Worksheet Dim Rg As Range Dim Column1 As String Dim Column2 As String Set wsG = ThisWorkbook.Sheets("Graph") Set wsS = ThisWorkbook.Sheets("Sheet1") wsG.Activate Column1 = wsG.Cells(1, "P").Value Column2 = wsG.Cells(2, "P").Value Set Rg = wsS.Cells.Find(What:=Column1) If Not Rg Is Nothing Then StartP3Column = Rg.Column Else MsgBox Column1 & " not found in " & wsS.Name End If Set Rg = wsS.Cells.Find(What:=Column2) If Not Rg Is Nothing Then StartP4Column = Rg.Column EndP3Column = Rg.Column - 1 Else MsgBox Column2 & " not found in " & wsS.Name End If Set Rg = wsS.Cells.Find(What:="End Column") If Not Rg Is Nothing Then StartEndColumn = Rg.Column EndP4Column = Rg.Column - 1 Else MsgBox "End Column" & " not found in " & wsS.Name End If