我需要從after Last Row till end of usedRange. 下面的代碼有效,但是否有正確的/較短的代碼。
Option Explicit
Sub Select_Blank_in_Usedrange()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim LastR As Long, LastR_UsedRange As Long
LastR = ws.Cells(Rows.Count, "A").End(xlUp).Row
LastR_UsedRange = ws.UsedRange.Rows.Count
ws.Range("A" & LastR 1, "AE" & LastR_UsedRange).Select
End Sub

uj5u.com熱心網友回復:
如果代碼有效并且沒有多余的部分,我會說它很好。如果我要提出改進建議,那就是將相關地址保存為范圍物件而不是行號。通過這種方式,您可以直接從兩個角組裝更大的范圍,而不必在最后一步連接地址。
Sub Select_Blank_in_Usedrange()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim TopCorner As Range
Set TopCorner = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1, 0)
Dim BottomCorner As Range
With ws.UsedRange.Columns(31)
Set BottomCorner = .Cells(.Cells.Count)
End With
ws.Range(TopCorner, BottomCorner).Select
End Sub
對我來說,這更清楚了,常量也清晰地顯示出來了。如果列數發生變化,或者如果起始列從“A”移動,這將使以后更容易編輯。
uj5u.com熱心網友回復:
最短的代碼將是下一個:
Dim ws As Worksheet: Set ws = ActiveSheet
ws.Range("A" & ws.Range("A" & ws.rows.count).End(xlUp).row 1, _
"AE" & ws.UsedRange.rows.count ws.UsedRange.cells(1).row - 1).Select
它也會處理UsedRange不是從第一行開始的情況......
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357734.html
