创建一个新工作簿并一个接一个地粘贴3个不同的工作簿

时间:2014-01-23 17:31:24

标签: excel vba excel-vba

我有一个问题(顺便提一下,我有多个问题,稍后会发布)关于创建一个新的工作簿并一个接一个地粘贴3个不同的工作簿。

这是日常工作的一部分,有关人员将在3个不同的文件夹中发布3组不同的数据。文件名将根据日期给出。示例:我的书01 22,NT book 01 21等。

我想使用宏来创建新工作簿,按照日期保存并从存储在不同文件夹中的3个不同工作簿中复制数据,而不是手动获取每个文件并将数据复制到一个工作表中另一张在一张纸上。

以下是我正在使用的代码:

Sub Main()
Dim fd As FileDialog
Dim SelectedItem As Variant

Set NewBook = Workbooks.Add

Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd

.AllowMultiSelect = True


If .Show = -1 Then

For Each SelectedItem In .SelectedItems

Workbooks.Open (SelectedItem)
    'Workbooks.Application.Worksheets("Sheet1").Copy
    Workbooks("NewBook").Activate
    LastRow = ActiveSheet.UsedRange.Rows.Count
    MsgBox (LastRow)
    NewBook.Worksheets("Sheet1").Cells(LastRow + 1, 1).PasteSpecial (xlPasteValues)
    LastRow = ActiveSheet.UsedRange.Rows.Count
    MsgBox (LastRow)
Next SelectedItem
End If
End With

Set fd = Nothing

End Sub

1 个答案:

答案 0 :(得分:1)

您可以使用宏录制器(http://m.dummies.com/how-to/content/how-to-record-a-macro-to-automate-tasks-in-excel-2.html)。它只是将您在Excel中手动执行的步骤重现为VBA代码。如果您对VBA了解不多,可以将其作为第一步使用。查看代码并尝试更改它。如果我不知道标准Excel功能的VBA命令,我经常使用它。