Excel 声明一个范围

Excel 声明一个范围,excel,vba,Excel,Vba,我快发疯了!不知怎么的,我真的在努力使距离对象正确。如果我输入此项,我总是会收到一条错误消息: Dim ValidationRange As Range Set ValidationRange = Tabelle3.Range(Cells(1, 1), Cells(4, 1)) 但如果它像这样进入范围,一切都很好: Dim ValidationRange As Range Set ValidationRange = Tabelle3.Range("a1:a4") 我做错了什么

我快发疯了!不知怎么的,我真的在努力使距离对象正确。如果我输入此项,我总是会收到一条错误消息:

Dim ValidationRange As Range    
Set ValidationRange = Tabelle3.Range(Cells(1, 1), Cells(4, 1))
但如果它像这样进入范围,一切都很好:

Dim ValidationRange As Range    
Set ValidationRange = Tabelle3.Range("a1:a4")

我做错了什么?

您将范围引用到表中,而不是单元格中。试试这个:

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))

为我工作。

当你像这样声明你的范围时发生了什么

Set ValidationRange = Tabelle3.Range(Cells(1, 1), Cells(4, 1))
真的是这样吗

Set ValidationRange = Tabelle3.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(4, 1))
因为一个
单元格
对象就像一个
范围
对象,除非一个
范围
可以由多个单元格组成,
单元格
只能是一个。无论如何,它们都是相对于父对象(图纸)声明的。如果未指定,则假定为
ActiveSheet
。如果
Tabelle3
不是当前的活动工作表,则会出现问题,因为
Tabelle3
中的某个区域不能包含其他工作表中的单元格。这没有道理

这将起作用,因为
单元格的父项
范围的父项是相同的:

With Tabelle3
  .Range(.Cells(1, 1), .Cells(4, 1))
End With

谢谢,我现在可以这样解决它了!Range(Tabelle3.Cells(7,12),Tabelle3.Cells(16,12))@fydelio请确保Range和Cells上都有
Tabelle3
,否则您将再次被困在同一条船上,但原因正好相反<代码>选项卡3.范围(选项卡3.单元格(7,12),选项卡3.单元格(16,12))