Collapse column

Autor Thema: Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern  (Gelesen 2918 mal)

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern
« am: April 10, 2012, 08:07:16 Vormittag »
Schönen guten Morgen zusammen,

ich habe eine Datei mit recht vielen Arbeitsblättern (ca. 40). Nun habe ich in einem Arbeitsblatt in einer Spalte eine Übersicht der Arbeitsblätter erstellt und möchte dort bestimmte Arbeitsblätter (in der Spalte daneben) markieren (z.B. durch ein "X"), die dann in eine neue Datei exportiert (kopiert) werden sollen. Die Zusammenstellung der Arbeitsblätter, die in einer neuen Datei exportiert werden soll, variiert ständig. Der (neue) Namen der Datei soll in einer anderen Zelle angegeben werden. Da ich nicht ausschliessen kann, dass die Blätter manchmal "händisch" verschoben werden oder neue dazukommen, will ich mit den Namen der Arbeitsblätter arbeiten. Ich habe mal eine "banaliserte" Exceltabelle" als Bespiel hochgeladen

Hat jemand spontan eine Lösung?

Von einem anderen Projekt habe ich ein Script, mit dem ich einzelne Arbeitsblätter exportieren kann. Ich bekomme es aber nicht hin, eine "Schleife" einzubauen, damit mehrere (beliebige) Arbeitsblätter exportiert werden.


Sub Export()
    Dim vntBlaetter As Variant
    Dim sPfad As String
    Dim ws As Worksheet
    Dim wbkNeu As Workbook

    sPfad = Worksheets("Master").Range("B2")
   
    vntBlaetter = Array("Tabelle2")
    Sheets(vntBlaetter).Copy
    With ActiveWorkbook
        For Each ws In .Worksheets
            With ws.UsedRange
                .Value = .Value
            End With
        Next
        On Error GoTo ENDE
        Application.DisplayAlerts = False
        .SaveAs sPfad, xlNormal
        .Close False
    End With
ENDE:
    Application.DisplayAlerts = True
End Sub


Schon mla vielen Dank!

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw:Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern
« Antwort #1 am: April 11, 2012, 09:27:54 Vormittag »
Hi,

hier ein Code zum Kopieren der mit "x" gekennzeichneten Tabellenblätter in eine neue (nicht gespeicherte) Arbeitsmappe:

Sub Kopieren()
   Dim rngZelle As Range
   Dim arrTabellen()
   Dim lngZaehler As Long
   Dim wksTab As Worksheet
   For Each rngZelle In Columns(1).SpecialCells(xlCellTypeConstants)
      If UCase(rngZelle) = "X" Then
         On Error Resume Next
         Set wksTab = Worksheets(rngZelle.Offset(0, 1).Value)
         On Error GoTo 0
         If Not wksTab Is Nothing Then
            ReDim Preserve arrTabellen(0 To lngZaehler)
            arrTabellen(lngZaehler) = rngZelle.Offset(0, 1)
            lngZaehler = lngZaehler + 1
         End If
         Set wksTab = Nothing
      End If
   Next rngZelle
   Worksheets(arrTabellen()).Copy
End Sub

Beachte: die aufgelisteten Namen der Tabellenblätter müssen mit den tatsächlichen Namen übereinstimmen - sonst wird nichts kopiert.

Bis später,
Karin

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Antw:Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern
« Antwort #2 am: April 11, 2012, 10:57:48 Vormittag »
Wow! Super! Danke!
Funktioniert einwandfrei!
Grüße und schöne Woche!

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Office 2007: Antw:Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern
« Antwort #3 am: April 16, 2012, 10:50:05 Vormittag »
Wie kann ich denn in einer Zelle einen Pfad angeben, unter denn die die aufgelisteten Namen der Tabellenblätter abgespeichert werden sollen?
also z.B. sPfad = Worksheets("Tabelle").Range("R11")???
« Letzte Änderung: April 16, 2012, 10:59:01 Vormittag von Officer »

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw:Office 2007: Bestimmte Arbeitsblätter in eine Datei speichern
« Antwort #4 am: April 16, 2012, 11:01:04 Vormittag »
Hallo medic,

bitte erstelle für Deine Frage einen neuen Thread. Damit sind die Chancen auf eine Antwort wesentlich größer, als in einem bereits als gelöst markierten Thema.

Vielen Dank

Officer
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.