创建一个新的工作簿并将数据复制到其中,运行时错误

时间:2019-07-03 06:11:15

标签: excel vba excel-formula

对不起,如果有关于此问题的重复帖子。我也是excel VBA的新手。我在网上搜索了类似的问题/解决方案并进行了尝试。显然我仍然无法解决我的问题。希望你们能帮我指出我遇到的错误。

手头的任务,我有一个完整的数据库Excel文件,即:竞争数据库v1.0 不定期更新和修改数据。

我想从数据库中筛选每个类别并创建一个新的工作簿,然后将筛选后的数据粘贴到其中。

我遇到的问题是,我设法创建了一个新工作簿,但它没有复制数据并粘贴。

最初,我尝试了此方法,但效果也不佳。

Sub Createnewbook()

Dim wb As Workbook
Set wb = Workbooks.Add

Range("C2", Range("C2").End(xlDown).End(xlToRight)).Copy
        wdApp.Selection.PasteExcelTable True, False, False

结束子

然后我尝试了

Sub Createnewbook()

   Dim wb As Workbook
   Set wb = Workbooks.Add

(我在这行中出错)

工作簿(“竞争数据库V1.0.xlsm”)。工作表(“竞争对手信息”)。选择

   Worksheets("Competitor Info").Range("C2", Range("C2").End(xlDown).End(xlToRight)).Copy
   wb.Worksheets("Sheet1").Range("A1").PasteExcelTable True, False, False                 

End Sub

我希望新工作簿已复制数据,并且每当我更改主数据库时,它也会更新

1 个答案:

答案 0 :(得分:0)

这可以作为起点:

显式选项

Public Sub Createnewbook()
    Dim wb As Workbook: Set wb = Workbooks.Add
    With ThisWorkbook.Worksheets("Sheet1")
        .Range("C2", .Range("C2").End(xlDown).End(xlToRight)).Copy
    End With
    wb.Worksheets("Sheet1").Cells(1, 1).PasteSpecial xlPasteAll
    wb.Worksheets("Sheet1").Cells(1, 1).PasteSpecial xlPasteColumnWidths
End Sub

用工作表的实际名称替换Sheet1(在ThisWorkbook中:查看原始工作簿,然后查看工作表的名称,在新工作簿中:确定新工作簿的第一张工作表的默认名称是)。