繁体   English   中英

Excel VBA - 查找函数 - 查找变量

[英]Excel VBA - Find Function - Find a variable

我的代码部分如下;

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中的值将决定运行宏时选择哪些列。 所以在前2个Cell.Find(What:=)函数中,我希望“Column1”获取Column1变量(P1中的值)。

当我运行宏时,我得到错误“运行时错误:91。没有设置块变量的对象变量”,当我调试时,问题是使用行Cells.Find(What:=Column1).Activate

有任何想法吗?

如果您在工作表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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM