声明一个范围
我快要疯了! 我不知何故真的很难得到范围对象。 如果我input这个,我总是会收到错误信息:
Dim ValidationRange As Range Set ValidationRange = Tabelle3.Range(Cells(1, 1), Cells(4, 1))
但如果它进入这样的范围,一切都很好:
Dim ValidationRange As Range Set ValidationRange = Tabelle3.Range("a1:a4")
我究竟做错了什么?
当你像这样宣布你的范围时发生了什么
Set ValidationRange = Tabelle3.Range(Cells(1, 1), Cells(4, 1))
这是真的吗
Set ValidationRange = Tabelle3.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(4, 1))
因为一个cells
对象就像一个Range
对象,除了Range
可以被许多单元格所占据,所以cells
只能是一个。 无论如何,它们是针对父对象(表单)进行声明的。 如果没有指定ActiveSheet
的话。 如果Tabelle3
不是您当前的活动工作表,那么由于Tabelle3
的范围不能包含来自另一个工作表的单元格,因此会出现问题。 这没有意义。
这将工作,因为Cells
的父级是与Range
相同的父级:
With Tabelle3 .Range(.Cells(1, 1), .Cells(4, 1)) End With
尝试使用您的代码,而不使用Tabelle3。 在范围说明之前。
Dim ValidationRange As Range Set ValidationRange = Range(Cells(1, 1), Cells(4, 1))
为我工作。
你把范围引用到表格中,而不是单元格。 尝试这个:
With Tabelle3 .Range(Cells(1, 1), Cells(4, 1)) End With