如何在VBA中声明Excel范围?

理查德·雅恩

所以我丢失了我所有的 VBA 笔记,并且在这里重做一些逻辑时遇到问题,所以如果这看起来很基本,我深表歉意。我试图找到设置顶部并找到列中最后一个填充的单元格,并将它们都设置在我的范围内,以便能够将其复制并粘贴到日志中。当我进入这个MYRANGE部分时,我得到:

错误 1004

我尝试使用更基本的选择来实现我想要做的事情,但原始数据永远不会是相同的大小,所以我想回到这个问题来尝试看看我是否可以获得帮助。

Sub CopyRows()

    Dim sht As Worksheet
    Dim LastRow As Long
    Dim LastColumn As Long
    Dim MYRANGE As Range
    Dim Top, Bottom, Left, Right As Long        

    Set sht = Worksheets("Data")
    sht.Activate

    Set Top = Range("B2")
    LastRow = Cells(Rows.Count, "B").End(xlUp).Select
    Set MYRANGE = Range("Top", "LastRow").Select.Copy

End Sub

正如我提到的,我试图将我的范围设置为“顶部”和“底部”或“最后一行”,这样我就不必担心数据的实际大小并将其复制并粘贴到另一个工作表。

斯科特·克雷纳

设置范围时,您不使用.Select.Copy

在另一个范围内使用可变范围时,您不使用 ""

并且不要使用.Activate.Select

Sub CopyRows()
    Dim sht As Worksheet
    Dim LastRow As Range
    Dim LastColumn As Long
    Dim MYRANGE As Range
    Dim Top As Range, Bottom As Range, Left As Range, Right As Range

    Set sht = Worksheets("Data")

    Set Top = sht.Range("B2")
    Set LastRow = sht.Cells(Rows.Count, "B").End(xlUp)
    Set MYRANGE = sht.Range(Top, LastRow)
    'Now you can do something with MYRANGE like MYRANGE.Copy
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在VBA中声明和使用范围

如何在Excel VBA中为图表选择多个范围?

如何在立即窗口中打印范围变量?Excel VBA

如何在C ++中的嵌套词法范围可访问的范围中声明静态信息?

如何在不更改字母的情况下在Excel VBA中循环范围编号

如何在Excel VBA中为所有工作表选择相同的范围?

如何在Excel中的VBA中设置“或”

如何在VBA中声明PtrSafe Sub?Windows 7,Excel 2016、64位

如何在Excel VBA中为具有命名范围的图表设置源数据

如何在Excel VBA中引用行范围中的命名列

如何在Excel VBA中发送和返回范围/数组

如何在Excel VBA中获得分配给命名范围的范围?

如何在Excel VBA中使用循环创建命名范围?

您如何在Excel VBA中引用范围?

如何在Excel中更新列范围

在Excel VBA中,如何在范围内添加自动值

如何在Excel VBA 2007中为表设置变量范围?

如何在Excel VBA中获取单元格的位置范围?

Excel VBA中的语法:如何在“ = IF”函数中将表的列引用为范围

如何在Excel VBA中的范围内循环列

如何在Excel VBA中更改命名范围的第n个值?

如何在Excel VBA中访问“允许用户编辑范围”选项

VBA-如何在Excel中范围的末尾添加绝对和行

如何在VBA Excel中从单元格中的公式获取参数范围?

如何在VBA Excel中使用我定义的范围名称?

如何在VBA中循环范围?

Excel vba - 如何在范围变化时复制/粘贴

如何在VBA中对范围进行排序?

如何在EXCEL中总结动态范围