首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA -查找函数-查找变量

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

Stack Overflow用户
提问于 2017-01-23 18:36:59
回答 1查看 3.9K关注 0票数 1

我的代码部分如下;

代码语言:javascript
运行
复制
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中的值将确定在运行宏时选择哪些列。因此,在前两个Cell.Find(What:=)函数中,我希望" Column1“选择Column1变量(P1中的值)。

当我运行宏时,我得到错误“运行时错误:91.WITH block variable not set”,而当我调试时,问题出在Cells.Find(What:=Column1).Activate

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 19:00:19

如果您在sheet Sheet1上搜索这些数据,则将运行以下命令:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41804284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档