これは非常に汚いソリューションです。 私の例のように最後の行を変更してください。 :)
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では
あなたは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))」を選択します。 –
Activesheet.usedrange.selectは機能しませんか?それとも質問が間違っていたのですか? – Storax
Activesheet.Range( "A1")を意味するかもしれません。CurrentRegion.Select – Storax