首页 > 解决方案 > Excel VBA:将数据从一个工作簿复制到另一个 - PasteSpecial 错误

问题描述

我需要宏的帮助,以便在需要时将一行数据复制到“主文件”中的下一个开放空间。

用户单击按钮并填写表格,然后复制数据,但是当我尝试粘贴到另一个工作簿时出现错误。

Private Sub CommandButton1_Click()

Dim emptyRow As Long
Dim Exists As Boolean
Dim answer As Integer
Dim toomany As Integer
Dim rm_master As Workbook
Dim rm_list As Worksheet
Dim vals As Variant

Sheet2.Range("A2").Value = IMCode.Value
Sheet2.Range("B2").Value = IMDescription.Value

Unload Me

Set rm_master = Workbooks.Open("C:\ExcelFiles\Master.xlsm")
Set rm_list = rm_master.Sheets("RMs")

emptyRow = WorksheetFunction.CountA(Range("B143:B167"))
Exists = Sheet2.Range("P2").Value

If Exists = True Then
    answer = MsgBox("already exists.", vbOKOnly, "Already Exists")
Else
    If emptyRow + 143 > 167 Then
        toomany = MsgBox("Too many.  Please clean up or add rows.", vbOKOnly, "Too Many Codes")
    Else
        Sheet2.Range("A2:N2").Copy
        rm_master.rm_list.Cells(emptyRow + 143, 2).PasteSpecial
    End If
End If

End Sub

我在线路上遇到错误.PasteSpecial。我已经查看了使用.Values 和其他方法的其他方法,但随后在复制步骤中出现错误。我的想法是因为我用来参考粘贴.Cells的起点?.Range

标签: excelvba

解决方案


推荐阅读