vba - 从特定工作表复制未知范围

标签 vba excel copy

我正在尝试在 VBA 中进行复制,作为更大宏的一部分,因此它需要在特定工作表中未知范围的 VBA 中。

如果我在那个工作表中,我有这个代码可以工作:

Sub Copy()
Range("O2", Range("O" & Cells(Rows.Count, "A").End(xlUp).Row)).copy
End Sub()

我有以下适用于特定范围的内容:
Sub Test()
    Worksheets("Data").Range("O2:O10").Copy
End Sub()

如何使第二个代码不具体。

谢谢,

最佳答案

您应该练习始终完全符合您所有的 SheetRange对象。

下面的代码有点长,但最好定义和设置所有对象和变量。

代码

Option Explicit

Sub Test()

Dim Sht As Worksheet
Dim LastRow As Long

' set your worksheet object
Set Sht = ThisWorkbook.Worksheets("Data")

With Sht
    ' get last row in column A
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    ' copy dynamic range in column O
    .Range("O2:O" & LastRow).Copy
End With

End Sub

关于vba - 从特定工作表复制未知范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556551/

相关文章:

在 2 个循环内访问单元格值时出现 VBA 错误 '1004'

excel - 如何应对100多条IF语句

vba - 使用 ADODB 运行多个异步查询 - 回调并不总是触发

c++ - 覆盖复制/move 分配重载时是否需要删除当前成员数据?

将文件复制到C中的目录

regex - 从一系列单元格中提取多个字符串

excel - 如何避免电子邮件自动化的 Outlook 安全警告?

c# - 如何使用 C# 中的互操作将整个现有 excel 范围向下移动一行

excel - 删除工作表的自动化错误

java - 复制对象并更改它(在 Java 中)