从ThisWorkbook粘贴到新工作簿上的语法错误

时间:2016-04-27 21:17:33

标签: excel vba copy-paste

第一行代码工作正常,第二行错误输出语法错误。我希望它与第一行做同样的事情,只有粘贴值。

<a href=""></a>

的完整代码
ThisWorkbook.Sheets(1).Range(Range("A4"), Range("A4").End(xlDown)).Copy .Sheets(1).Range("A1")
ThisWorkbook.Sheets(1).Range(Range("G4"), Range("G4").End(xlDown)).Copy .Sheets(1).Range("B1").PasteSpecial xlPasteValues

1 个答案:

答案 0 :(得分:1)

Range("A4")Range("A4").End(xlDown)可能不属于ThisWorkbook.Sheets(1),您无法使用其他工作表中的单元格定义范围。

Private Sub CommandButton1_Click()
    Dim nwb As Workbook

    Set nwb = Workbooks.Add

    With ThisWorkbook.Sheets(1)
        .Range(.Range("A4"), .Range("A4").End(xlDown)).Copy _
            Destination:=nwb.Sheets(1).Range("A1")
        With .Range(.Range("G4"), .Range("G4").End(xlDown))
            nwb.Sheets(1).Range("B1").Resize(.Rows.Count, 1) = .Value
        End With
    End With

    With nwb
        Application.DisplayAlerts = False
        .SaveAs "C:\Users\my username\Desktop\Macro Demo\output.xlsx"
        Application.DisplayAlerts = True
        .Close
    End With

End Sub