VBA 总范围

标签 vba excel range cells

我想在工作表中选择整个数据(整个范围)。我不知道为什么这里会出现错误:Range("A1:(Cells(ostatnia_dana, ostatnia_dana1)").Select

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 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

第二种解决方案更好:
  • Usage of Long
  • Correct usage of Range and Cells objects

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

    关于VBA 总范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158605/

    相关文章:

    excel - 无法在 Excel VBA 中使用 .End(xlDown) 分配范围?

    Python的range()函数不循环

    VBA:如何从过滤数据中获取当前区域?

    excel - 在 VBA Excel 中传递范围对象

    vba - 如何向合并的Word表格添加行?

    vba - 无需代码即可将项目添加到组合框?

    excel - 打开名称包含空格的文件

    excel - VBA 和目录有什么问题?

    php - DOMDocument::load - PHP - 获取属性值

    excel - Rubberduck VBA 代码检查 : Member 'x' has a 'VB_VarHelpID' attribute with value '-1' , 但没有相应的注释