Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Workbook kopieren mit Userform


Betrifft: Workbook kopieren mit Userform von: Acaz
Geschrieben am: 24.07.2018 17:01:39

Hallo Profis,

habe folgendes Problem:

Ich erstelle von einer Hauptdatei eine Kopie mit "ActiveWorkbook.Sheets.Copy" und habe alle meine Anforderungen untergebracht.
Ein Problemchen ist noch offen, das Userform, welches sich in meiner Hauptdatei befindet, wird nicht kopiert.

Keinerlei Code verhindert dies, daher der Umkehrschluss:
Was muss ich denn zusätzlich angeben, wenn ich ein Userform von einer Datei mit in eine andere Datei kopieren will?

Vielen Dank für die Hilfe im Voraus!

MfG,
Acaz

  

Betrifft: AW: Workbook kopieren mit Userform von: Mullit
Geschrieben am: 24.07.2018 17:23:08

Hallo,

mußt Du hierüber machen....

ActiveWorkbook.SaveCopyAs(Filename)

Gruß, Mullit


  

Betrifft: AW: Workbook kopieren mit Userform von: Acaz
Geschrieben am: 25.07.2018 08:02:12

Guten Morgen!

Danke Mullit für deinen Post, füge mal den entsprechenden Teil des Code an, damit es vllt. etwas klarer wird.

  • ActiveWorkbook.Sheets.Copy
    Sh = Worksheets.Count
    For i = 3 To Sh
    With Sheets(i).Cells
    .Copy
    .PasteSpecial Paste:=xlPasteValues
    End With
    Next i

    ActiveWorkbook.SaveAs Filename:="..."


  • Ich wähle explizit Sheets, weil ich zunächst bestimmte Tabellenblätter mit nur Werten ersetzen will, wie kann ich trotzdem sicherstellen, dass das Userform mit kopiert wird, gibt es da einen separaten Befehl?

    MfG,
    Acaz


      

    Betrifft: AW: Workbook kopieren mit Userform von: fcs
    Geschrieben am: 25.07.2018 11:18:23

    Hallo Acaz,

    mit SaveCopyAs wird eine komplette Kopie einer Datei erstellt.
    Hier musst du die gespeicherte Kopie wieder öffnen und dann in den gewünschten Blättern die Formeln durch Werte erseten.

    Nachfolgend hab ich das mal umgesetzt.

    Gruß
    Franz

    Sub prcCopy_Nur_Werte_inkl_UF()
    
      Dim wkbCopy As Workbook
      Dim strNameCopy As String
      Dim wkbAktiv As Workbook
      Dim StatusCalc As Long
      
      Set wkbAktiv = ActiveWorkbook
      
      'Name Copy beliebig festlegen - darf nur nicht gleicher Pfad+gleicher Name sein
      With wkbAktiv
        strNameCopy = .Path & "\48Archiv\" & Left(.Name, InStrRev(.Name, ".") - 1) _
            & Format(Now, "YYYY-MM-DD hhmm") & Mid(.Name, InStrRev(.Name, "."))
    '    strNameCopy = "D:\Test\" & Left(.Name, InStrRev(.Name, ".") - 1) _
            & Format(Now, "YYYY-MM-DD hhmm") & Mid(.Name, InStrRev(.Name, "."))
      End With
      Application.Calculate
      
      wkbAktiv.SaveCopyAs strNameCopy
      'Makrobremsen lösen
      With Application
        .ScreenUpdating = False
        .EnableEvents = False
        StatusCalc = .Calculation
        .Calculation = xlCalculationManual
      End With
      
      Set wkbCopy = Application.Workbooks.Open(strNameCopy, UpdateLinks:=False)
      Application.Calculate
      With wkbCopy
        Sh = .Worksheets.Count
        For i = 3 To Sh
          With .Worksheets(i)
            With .UsedRange
              .Copy
              .PasteSpecial Paste:=xlPasteValues
            End With
          End With
        Next i
      End With
      'Makrobremsen zurücksetzen
      With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = StatusCalc
      End With
      
      wkbCopy.Save
      
    End Sub
    



      

    Betrifft: AW: Workbook kopieren mit Userform von: Acaz
    Geschrieben am: 25.07.2018 13:44:01

    Hallo Franz,

    super!!!! Vielen Dank für deine Hilfe, das funktioniert tadellos!

    MfG,
    Acaz


    Beiträge aus dem Excel-Forum zum Thema "Workbook kopieren mit Userform"