Microsoft Excel

Herbers Excel/VBA-Archiv

neue Arbeitsmappe, Werte einfügen & abspeichern

    Betrifft: neue Arbeitsmappe, Werte einfügen & abspeichern von: Christian Baum
    Geschrieben am: 01.09.2003 08:14:46

    Hallo!
    Ich habe vor eine kleines Makro zu schreiben, dass das Speichern einer Kopie erlaubt. d.h.: eine vorherdefinierte Range des quellsheets wird in eine Variable geschrieben. Dann wird eine neue Mappe geöffnet. Der Fokus muss auf die neue Mappe gesetzt werden. 1x normal einfügen. 1x nur Werte einfügen. (ist leider so notwenidig, da nur bei der Option "alles einfügen" alle Formate & Bilder eingefügt werden. Mit vordefiniertem Namen abspeichern.
    Der Code dazu schaut vollgendermassen aus:

    Private Sub KLTsave_Click()
      Dim VAPrint As Workbooks
      Dim VAKLT As Range
      Dim VAFileName As String
      VAFileName = Range("C2").Value & " - " & Range("C17").Value & ", " & Rang ("B6").Value
      Set VAKLT = Range("A1:H56")
      VAKLT.Copy
      Workbooks.Add
      'Anweisung um den Fokus auf die erste Arbeitsmappe des neuen Dokuments zu setzten
      VAKLT.PasteSpecial
      VAKLT.PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, False, False)
      'hier muss noch eine anweisung zum speichern des Dokuments hin
    End Sub
    


    Leider weiss ich nicht, wie ich den Fokus auf das neue Dokument setzten soll, da es ja über keine Variable zu erreichen ist.
    Kann der Rest so funktionieren?

    Im voraus besten Dank.
    Chris
      


    Betrifft: AW: neue Arbeitsmappe, Werte einfügen & abspeichern von: Hajo_Zi
    Geschrieben am: 01.09.2003 08:21:46

    Hallo Chris

    eine neu eingefügtes Workbook ist das aktive

    Gruß Hajo


      


    Betrifft: AW: neue Arbeitsmappe, Werte einfügen & abspeichern von: Christian Baum
    Geschrieben am: 01.09.2003 08:37:05

    :-/
    Wenn ich den Code so ausführe, wird aber die kopierte Range in dem "alten" Dokumant eingefügt ...


      


    Betrifft: AW: neue Arbeitsmappe, Werte einfügen & abspeichern von: Hajo_Zi
    Geschrieben am: 01.09.2003 08:41:30

    Hallo Christian

    das ist mir zu Auffwendig das nachzubauen. Ich würde aber schreiben mit VAKLT beziehts Du dich auf die alte Datei.

    VAKLT.PasteSpecial
    VAKLT.PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, False, False)

    Hier mußt Du schon schreiben ActiveSheet.Range("A1")

    Gruß Hajo