我試圖輕松選擇大量單元格,因為它太大而無法每次手動選擇和復制。我正在尋找一種方法來快速定位整個資料范圍并選擇它。不要與僅選擇每個非空單元格相混淆。大范圍內的單元格可能為空,但我也想包括它們。
例子是我的照片。我想發現并選擇 A1:E7 的所有資料,包括中間可能為空的單元格。如果可能,我也想取消選擇標題,只選擇 A2:E7。
到目前為止,我已經設法選擇了所有內容:
Range("A1").CurrentRegion.Select
但我不確定在那之后如何取消選擇第一行。

uj5u.com熱心網友回復:
嘗試這個
Sub selectWithoutHeaders()
With Range("A1").CurrentRegion
.Offset(1, 0).Resize(.Rows.Count - 1).Select
End With
End Sub
uj5u.com熱心網友回復:
您可以使用方便UsedRange來確定作業表上的填充區域,而無需檢查每一行和每一列的最后一個單元格坐標。
使用 UsedRange,您可以創建一個從 A2 延伸到最后一個單元格的范圍,然后選擇它。
Sub Example()
Dim WS As Worksheet
Set WS = ActiveSheet
Dim LastCell As Range
With WS.UsedRange
Set LastCell = .Cells(.Rows.Count, .Columns.Count)
End With
WS.Range("A2", LastCell).Select
End Sub
uj5u.com熱心網友回復:
這是Range(Cells(2, 1), Cells(LastRow, LastColumn)).Select版本。
Public Function GetLastRowOfSheet(ws As Worksheet) As Long
Dim usedRng As Range
Dim lastRow As Range
Set usedRng = ws.UsedRange
Set lastRow = usedRng.Rows(usedRng.Rows.Count).EntireRow
GetLastRowOfSheet = lastRow.row
End Function
Public Function GetLastColOfSheet(ws As Worksheet) As Long
Dim usedRng As Range
Dim lastRow As Range
Set usedRng = ws.UsedRange
Set lastCol = usedRng.Columns(usedRng.Columns.Count).EntireColumn
GetLastColOfSheet = lastCol.Column
End Function
Sub SelectAllCells()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim lastRow As Long: lastRow = GetLastRowOfSheet(ws)
Dim lastCol As Long: lastCol = GetLastColOfSheet(ws)
Range(Cells(2, 1), Cells(lastRow, lastCol)).Select
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/492544.html
上一篇:如何將范圍值添加到vba中的鏈接
