我一直在寻找解决方案的一段时间,我发现有时解决方案可行,但是大多数时候代码停止工作或导致错误。非常令人沮丧...
这是代码段,失败的行是我尝试使用xldown和xlright函数选择范围的地方,但是我似乎无法正确理解语法,或者我遇到了该对象错误。请帮助-如有必要,我将提供更多代码。
With ws
' LastRow = .Range("S" & .Rows.Count).End(xlUp).Row
lRow = .Range("S" & .Rows.Count).End(xlUp).Row
lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
' .Range("S2:" & .Range("Z" & LastRow)).Select
Set rng = .Range("S2", Range("S2").End(xlToRight)).Select
如您所见,我已经尝试了几件事-一些选项已经被删除。我已经尝试在with语句内部和with语句外部。仍然失败。谢谢!
答案 0 :(得分:1)
尝试:
ws.Range("S2").CurrentRegion.Select
如果您要选择的范围是连续的,这将起作用。
(您可以发布工作表的模型,而不是尝试描述它吗?)
答案 1 :(得分:0)
最后,我已经解决了。根据上一条消息,我在下面使用此行来选择所需的范围,该范围本来可以工作,但是使用“选择”时出现错误:
Range(Selection, Selection.End(xlDown).End(xlToRight))
但是,我需要做的是明确引用起始范围,现在它可以正常工作。下面的代码是从起点“ S2”到结束单元格选择的。
Set rng = .Range(ws.Range("S2"), ws.Range("S2").End(xlDown).End(xlToRight))
感谢您的所有评论!