2017-03-17 79 views
1

已解决。我一直在寻找可以让你选择电子表格中最后一列和最后一行的代码。在做了一些挖掘并使用了一些逻辑之后,我能够想出一个解决方案。首先,我用下面定义的最后一行:用于选择最后一列和行的范围的VBA代码

LR = Range("A" & rows.count).end(xlup).row and then I used the following to define last column 

LC= wcolNm(colNum) 

Public function LC= wcolNm(colNum) 

ColNum = Cells(1 & columns.count).end(xltoleft).column 
wcolumn = split(cells(1, column).address, "$")(1) 
End function 

结束状态看起来如下:

Range("A" & 1 & ":" & LC & LR).select 

其中我LC之后插入。我很抱歉,如果这是令人困惑的,但我是新来的编码,并寻找这段代码一段时间,所以我觉得这将是很好的发布。如果需要,我会提供更多细节。

+2

您可以在这里提问,然后发布答案。我认为这可能是在回答之前。 – bernie

回答

-1

我相信你可以用更简单的方法做到这一点。只要你试图选择数据的整个范围(即A1到你最后的行和列),你可以用下面的方法:

Dim ws As Worksheet 
Set ws = ThisWorkbook.Worksheets(1) 
ws.UsedRange.Select 

这应该选择所有的数据。这也假设你正在使用第一张工作表。

+0

这种方法存在问题。如果他在过去使用的当前范围之外的单元格,它将选择所有的出路到所述单元格。 – Flibertyjibbet

0

这是我通常如何做到的。

Range(Cells(1, Columns.Count), Cells(Rows.Count, 1).End(xlUp)).Select 

如果您的数据完全改变,您通常不希望使用UsedRange方法来选择单元格。

+0

End(xlUp)的缺点是它不会“看到”隐藏的行。 – Variatus

+0

就我所知,OP没有对隐藏行做任何说明:) – Flibertyjibbet