对不起,如果有关于此问题的重复帖子。我也是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
我希望新工作簿已复制数据,并且每当我更改主数据库时,它也会更新
答案 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中:查看原始工作簿,然后查看工作表的名称,在新工作簿中:确定新工作簿的第一张工作表的默认名称是)。