从一个文件重用/复制宏到另一个文件

时间:2019-01-11 06:54:31

标签: excel vba savefiledialog

我遇到一个问题,我要从多个文件中获取数据并将其复制到当前文件中。我使用数据,现在需要创建一个新文件,其中包含导入文件之一和我创建的新数据中的宏和“样式”。

因此,基本上,我获取一个文件,然后从中删除所有数据。然后将我的数据粘贴到文件中。稍后,我将旧文件和新数据中的宏组合保存到一个新文件中,该文件的名称为“另存为对话框”。

到目前为止,我已经可以导入所有文件,并且我在数据方面的工作做得很好。仅缺少此导出。

我的想法是在导入期间公开文件的路径,然后在导入文件期间使用此路径执行以下操作:

  • 复制此文件,
  • 删除宏和按钮之外的所有数据
  • 将我的数据复制到其中。
  • 打开“另存为”对话框,让用户选择名称和保存位置。

但是,我绝对不知道如何用代码来完成类似的事情。我只需要一些带有解释的代码示例,我希望我可以根据自己的需要对其进行定制。

这是我到目前为止尝试过的代码,但这只是一个常规的“保存我的当前文件”,不包含另一个文件中的任何宏或以另一个文件为基础。

Sub DateiSpeichern()
    Dim StandardPfad As String
    Dim ExportBlatt As Worksheet
    Dim NeueDatei As Workbook

    StandardPfad = "C:\X"

    Set NeueDatei = Workbooks.Add
    ThisWorkbook.Sheets("Test").Copy Before:=NeueDatei.Sheets(1)
    Application.DisplayAlerts = False
    Sheets(2).Delete
    Application.DisplayAlerts = True

    'displays the save file dialog
    StandardPfad = Application.GetSaveAsFilename(FileFilter:= _
      "Exceldateien (*.xlsx), *.xlsx", Title:="Datei speichern", _
      InitialFileName:="")

   NeueDatei.SaveCopyAs Filename:=StandardPfad

   NeueDatei.Close savechanges:=False
End Sub

你好

这是我第一次尝试对其进行编码。它不起作用,但我希望我至少有一个正确的想法。

Sub DateiSpeichern()
        Dim StandardPfad As String
        Dim ExportBlatt As Worksheet
        Dim NeueDatei As Workbook
        Dim VorlagenDatei As Workbook

'Sets a default directory
StandardPfad = "C:\Test"

'opens the dialog to choose the template file.
Set VorlagenDatei = Workbooks.Open(StandardPfad)

StandardPfad = Application.GetSaveAsFilename(FileFilter:= _
        "Exceldateien (*.xlsx), *.xlsx", Title:="Datei speichern", _
        InitialFileName:="")

'copies the selected file (something is wrong here i would assume)
VorlagenDatei.SaveCopyAs Filename:=StandardPfad

'copies my worksheet (Test) into the newly generated (copied) file. Here I need to somehow specifie the range where it is copied to.
ThisWorkbook.Sheets("Tires").Copy Before:=NeueDatei.Sheets(1)

0 个答案:

没有答案