VBA总量程
我想在工作表中选择整个数据(整个范围)。我不知道为什么这里会出现错误:VBA总量程,vba,excel,range,cells,Vba,Excel,Range,Cells,我想在工作表中选择整个数据(整个范围)。我不知道为什么这里会出现错误: 范围(“A1:(单元格(ostatnia\u dana,ostatnia\u dana1)”)。选择 Sub ranging() Dim ostatnia_dana As Integer Dim ostatnia_dana1 As Integer ostatnia_dana = Cells(Rows.Count, 2).End(xlUp).Row ostatnia_dana1 = Cells(
范围(“A1:(单元格(ostatnia\u dana,ostatnia\u dana1)”)。选择
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("A1:(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
第二种解决方案中更好的是什么:
部分,它会工作得很好,但是如果您引用的是另一个工作表,而不是活动工作表,它将失败。通常,让我们假设您有一些其他工作表处于活动状态,并且希望选择一个名为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
范围(“A1”,单元格(ostatnia\u dana,ostatnia\u dana1))如何选择?Activesheet.usedrange.Select是否不起作用?或者我的问题搞错了吗?或者你的意思是Activesheet.Range(“A1”).CurrentRegion.Selection你错过了行之前的
。Count
和列。我想是Count
吧
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