Excel VBA-将字符串转换为范围
我有一个在单元格中存储range.address的函数。 该单元格的值为IE:AQ43:BF44 如何将此字符串转换为范围 我试过:Excel VBA-将字符串转换为范围,vba,excel,Vba,Excel,我有一个在单元格中存储range.address的函数。 该单元格的值为IE:AQ43:BF44 如何将此字符串转换为范围 我试过: Dim Cell As Range Dim pRange As String Dim projectRange As Range pRange = Project.Range ' Stored as "AQ43:BF44" in this case projectRange = Range(pRange) For Each Cell In
Dim Cell As Range
Dim pRange As String
Dim projectRange As Range
pRange = Project.Range ' Stored as "AQ43:BF44" in this case
projectRange = Range(pRange)
For Each Cell In projectRange
If TargetCell = Cell Then
'Do something
End If
Next Cell
此代码报告运行时错误91:对象变量或未设置块变量
此函数的主要目的是检查targetCell(我双击的单元格)是否在存储的range.address中找到
此函数的主要目的是检查目标单元格(我双击的单元格[sic])是否在存储的range.address中找到
您正在查看是否在单元格(例如,AQ43:BF44
)和双击的单元格(例如,Target
)中生成的内容在文本描述的范围内
选项显式'
此函数的主要目的是检查目标单元格(我双击的单元格[sic])是否在存储的range.address中找到
您正在查看是否在单元格(例如,AQ43:BF44
)和双击的单元格(例如,Target
)中生成的内容在文本描述的范围内
Option Explicit'由于范围在Excel中是一个“对象”,因此在赋值时需要使用Set
-关键字:
Set projectRange = Range(pRange)
但是,如果pRange
的值不能描述有效的范围,则会遇到错误
另外,当对projectRange中的每个单元格迭代时,您可能希望更具体一点。根据您要执行的操作,您可以迭代projectRange.Cells
,projectRange.Rows
,projectRange.Columns
…由于范围
在Excel中是一个“对象”,因此在赋值时需要使用Set
-关键字:
Set projectRange = Range(pRange)
但是,如果pRange
的值不能描述有效的范围,则会遇到错误
另外,当对projectRange中的每个单元格迭代时,您可能希望更具体一点。根据您要执行的操作,您可以迭代projectRange.Cells
,projectRange.Rows
,projectRange.Columns
,pRange=projectRange.Value
而不是pRange=projectRange.Value
而不是pRange=projectRange.Value
,谢谢。使用intersect完美地解决了这个问题。在我的工作表中输入您的解决方案没有问题。谢谢。使用intersect完美地解决了这个问题。在我的工作表中输入您的解决方案没有问题。