Set dr = Range(Selection, Cells(Rows.Count, Selection.Column).End(xlUp)(xlToRight))
基本上,我想选择跨越众多行和列的整个范围,其中数据被填充散布
它完美地适用于Xlup。但是当我添加Xltoright时,它并没有生效。
答案 0 :(得分:0)
如果您试图正确选择当前选择,请考虑以下代码。
当您稍后尝试在表单1中进行选择时,我将假设您实际上意味着Worksheet("Sheet1")
。
如果是这种情况,您可以更安全地执行以下操作:
Sub hi()
Dim dr As Range
With ThisWorkbook.Worksheets("Sheet1")
Set dr = .Range(Selection, .Cells(.Rows.Count, Selection.Column).End(xlUp).End(xlToRight))
End With
Debug.Print dr.Address
End Sub
注意:
请注意,没有符合条件的工作表的Cells
/ Range
将使用 Activesheet
。请参阅此处的精彩讨论:
Is the . in .Range necessary when defined by .Cells?。
剧情简介:
用"。"更快,避免错误的可能性1004,通常被认为是最佳实践。