访问VBA Excel:格式化Excel和范围应用程序/对象错误

时间:2018-07-20 01:32:02

标签: excel vba ms-access access-vba

我一直在寻找解决方案的一段时间,我发现有时解决方案可行,但是大多数时候代码停止工作或导致错误。非常令人沮丧...

这是代码段,失败的行是我尝试使用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语句外部。仍然失败。谢谢!

2 个答案:

答案 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)) 感谢您的所有评论!