Excel 在范围内循环的每个循环中需要的对象
因此,我试图根据每个循环的Excel 在范围内循环的每个循环中需要的对象,excel,vba,Excel,Vba,因此,我试图根据每个循环的,获取所选单元的单元地址 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim company As String company = Range("H12").Value Dim companyRange, cell As Range companyRange = ThisWorkbook.Sheets
,获取所选单元的单元地址
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim company As String
company = Range("H12").Value
Dim companyRange, cell As Range
companyRange = ThisWorkbook.Sheets("Bleh List").Range("A2:A20")
For Each cell In companyRange
If cell.Value <> vbNullString And cell.Value = company Then
Debug.Print "C : " & cell.Row
End If
Next cell
Application.EnableEvents = True
End Sub
Private子工作表\u更改(ByVal目标作为范围)
Application.EnableEvents=False
把公司当作字符串
公司=范围(“H12”).值
Dim companyRange,单元格作为范围
companyRange=ThisWorkbook.Sheets(“Bleh列表”).Range(“A2:A20”)
对于companyRange中的每个单元格
如果cell.Value vbNullString和cell.Value=company,则
调试。打印“C:”&单元格。行
如果结束
下一个细胞
Application.EnableEvents=True
端接头
但是,每次我尝试运行此程序时,循环的第一行都会返回一个objectrequired
错误
本该如此琐碎的是什么造成了这个问题>为什么
谢谢 这是一个常见的误解:
Dim companyRange, cell As Range
只有单元格
是范围
companyRange
是一个变体
。你需要:
Dim companyRange as Range, cell as Range
那么您就缺少了一个集
Set companyRange = ThisWorkbook.Sheets("Bleh List").Range("A2:A20")
目前,companyRange=thiswook.Sheets(“Bleh List”).Range(“A2:A20”)
是一个2D变量数组,而不是您希望迭代的Range
对象。这是一个常见的误解:
Dim companyRange, cell As Range
只有单元格
是范围
companyRange
是一个变体
。你需要:
Dim companyRange as Range, cell as Range
那么您就缺少了一个集
Set companyRange = ThisWorkbook.Sheets("Bleh List").Range("A2:A20")
目前,companyRange=thiswook.Sheets(“Bleh List”).Range(“A2:A20”)
是一个2D变量数组,而不是您希望迭代的Range
对象。准确地说,要更好地理解变量发生了什么,只需将它们拖到watchs
窗口中。它将告诉您这些变量的行为方式。:)@JvdV是的:(我总是使用上下文菜单添加它们。但是拖动要容易得多,所以我觉得自己很愚蠢。@Pᴇʜ,和BigBen你们两个家伙让我有一个哈哈的时刻,如果它归结到VBA的基础上,哈哈,所以这一切都很好。知识共享:)准确地说,为了更好地了解你的变量发生了什么,只需将它们拖到手表
窗口。它将告诉您这些变量的行为方式。:)@JvdV是的:(我总是使用上下文菜单添加它们。但是拖动要容易得多,所以我觉得自己很愚蠢。@Pᴇʜ和BigBen你们两个家伙让我有一个哈哈的时刻,如果它归结到VBA的定期基础上哈哈,所以一切都很好。知识共享:)