Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA总量程_Vba_Excel_Range_Cells - Fatal编程技术网

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
第二种解决方案中更好的是什么:

一般来说,如果没有带有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

范围(“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