Excel VBA 错误 - 单元格(R,C).粘贴

Excel VBA 错误 - 单元格(R,C).粘贴

我正在 Workbook0.Worksheet1 中编写代码,将单元格从 Workbook1.WorkSheet1 复制到 Workbook2.Worksheet1 中的单元格

以下是代码:

Sub CopyInfo()  
    Dim WSCopy As Worksheet  
    Dim WSPaste As Worksheet  
    Set WSCopy = Workbooks(Cells(3, 4).Value).Worksheets("Sheet1")  
    Set WSPaste = Workbooks(Cells(4, 4).Value).Worksheets("Sheet1")  
    RowCopy = Range(Cells(11, 3)).Row  
    ColCopy = Range(Cells(11, 3)).Column  
    RowPaste = Range(Cells(11, 4)).Row  
    ColPaste = Range(Cells(11, 4)).Column  
    Data = "Data"  
    While Data <> ""  
        Data = WSCopy.Cells(RowCopy, ColCopy)  
        WSPaste.Cells(RowPaste, ColPaste) = Data  
        RowCopy = RowCopy + 1  
        ColCopy = ColCopy  
        RowPaste = RowPatse  
        ColPaste = ColPaste + 1  
    Wend  
End Sub

第一次迭代运行良好,第二次迭代时出现错误。

希望有人告诉我我的错误在哪里。

答案1

我猜测该问题是由于您代码中的这一行出现拼写错误造成的:

RowPaste = RowPatse

由于 VBA 不需要您声明变量,因此它会分配给RowPaste新的 Empty Variant 的值RowPatse。因此代码第二次执行时会中断。

为了避免这种拼写错误问题,您可以Option Explicit在模块顶部添加。这样,只要在代码中调用未声明的变量,编译器就会抛出错误。

除了这个问题之外,

ColCopy = ColCopy
RowPaste = RowPaste

可以被移除,因为它们根本没做任何事情。

相关内容