這是一個非常骯髒的解決方案。 更改我的示例中的最後一行。 :)
Option Explicit
Sub ranging()
Dim ostatnia_dana As Integer
Dim ostatnia_dana1 As Integer
ostatnia_dana = Cells(Rows.Count, 2).End(xlUp).Row
ostatnia_dana1 = Cells(2, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(ostatnia_dana, ostatnia_dana1)).Select
End Sub
這是一個好一點:
Option Explicit
Sub ranging()
Dim ostatnia_dana As Long
Dim ostatnia_dana1 As Long
With ActiveSheet
ostatnia_dana = .Cells(.Rows.Count, 2).End(xlUp).Row
ostatnia_dana1 = .Cells(2, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(ostatnia_dana, ostatnia_dana1)).Select
End With
End Sub
什麼是第二個更好的解決方案:
在GE neral,如果沒有With ActiveSheet
部分,它會工作得很好,但是如果您參考另一張不是活動的紙張,它會失敗。一般來說,讓我們假設你有一些其他活動表,並且你想選擇一個名爲MyWorksheetName
的表。然後下面的工作:
Option Explicit
Sub MyRanges()
Dim ostatnia_dana As Long
Dim ostatnia_dana1 As Long
Dim ws As Worksheet
Set ws = Worksheets("MyWorksheetName")
With ws
ostatnia_dana = .Cells(Rows.Count, 2).End(xlUp).Row
ostatnia_dana1 = .Cells(2, Columns.Count).End(xlToLeft).Column
.Select
.Range(.Cells(1, 1), .Cells(ostatnia_dana, ostatnia_dana1)).Select
End With
End Sub
'Range(「A1」,Cells(ostatnia_dana,ostatnia_dana1))。Select? –
Activesheet.usedrange.select不工作嗎?或者我錯了嗎? – Storax
或者你的意思是Activesheet.Range(「A1」)。CurrentRegion.Select – Storax