2017-03-17 80 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