Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blattcode wird nicht übernommen

Blattcode wird nicht übernommen
15.03.2014 14:19:30
Wolfgang
Hallo,
mit nachstehendem Code wird die Kopie einer Excel-Mappe, um bestimmte Tabellenblätter bereinigt, a.d. Desktop gespeichert. Bislang hat auch alles super funktioniert. Nun habe ich in -Tabelle 1 (Grunddaten)- noch einen BlattCode eingebaut, der mit kopiert werden soll, um ihn auch in der jeweiligen Tabellenblattkopie der Mappe nutzen zu können. Irgendwie kopiert der Code ihn aber nicht mit, was müsste ich ggfs. verändern? (liegt es evtl. daran, dass die Tabelle Grunddaten, hinter der sich der Code befindet, zu früh gelöscht wird?) - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
  • 'Speichert aktuelle Mappe unter untenstehenden Namen ab und löscht alle anderen Tabellen wie z.B. Grunddaten.
    Sub Speichern1234()
    Application.ScreenUpdating = False
    Dim wks As Worksheet
    Dim i As Long, x As Long
    x = 0
    For i = 1 To ActiveWorkbook.Sheets.Count
    If Sheets(i).Name = "Tabelle1" Then x = x + 1
    If Sheets(i).Name = "Tabelle2" Then x = x + 1
    If Sheets(i).Name = "Tabelle3" Then x = x + 1
    If Sheets(i).Name = "Tabelle4" Then x = x + 1
    Next i
    If x > 0 Then
    MsgBox "XXXXX.", vbOKOnly
    Else
    MsgBox "Sie haben noch keine Daten gefiltert, die exportiert werden könnten !", vbCritical
    Exit Sub
    End If
    ThisWorkbook.SaveAs "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\ _
    Ergebnis." & Date & ".xlsb"
    Application.DisplayAlerts = False
    For Each wks In Worksheets
    If wks.Name = "Tabelle1" Or wks.Name = "Tabelle2" Or wks.Name = "Tabelle3" Or wks.Name = " _
    Tabelle4" Then
    Else
    wks.Delete
    End If
    Next
    ThisWorkbook.Save
    ThisWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    End Sub
    


  • 4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    versuchs mal in einem allg. Modul
    15.03.2014 20:05:43
    Matthias
    Hallo Wolfgang
    Hab das mal getestet
    so funktioniert es bei mir (Code aber in einem allgemeinen Modul)
    und ich speichere es als *.xlsm.

    Option Explicit
    Sub Speichern1234()
    Dim wks As Worksheet
    Dim i As Long, x As Long
    Application.ScreenUpdating = False
    x = 0
    For i = 1 To ActiveWorkbook.Sheets.Count
    If Sheets(i).Name = "Tabelle1" Then x = x + 1
    If Sheets(i).Name = "Tabelle2" Then x = x + 1
    If Sheets(i).Name = "Tabelle3" Then x = x + 1
    If Sheets(i).Name = "Tabelle4" Then x = x + 1
    Next i
    If x > 0 Then
    MsgBox "XXXXX.", vbOKOnly
    Else
    MsgBox "Sie haben noch keine Daten gefiltert, die exportiert werden könnten !", vbCritical
    Exit Sub
    End If
    ActiveWorkbook.SaveAs "C:\DeinPfad\" & Date & ".xlsm"'Pfad wieder anpassen
    Application.DisplayAlerts = False
    For Each wks In Worksheets
    If wks.Name = "Tabelle1" Or wks.Name = "Tabelle2" Or wks.Name = "Tabelle3" Or wks.Name = " _
    Tabelle4 " Then
    Else
    wks.Delete
    End If
    Next
    ThisWorkbook.Save
    ThisWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    End Sub
    
    So wirklich reingedacht hab ich mich aber nicht in Deinen Code.
    Jedenfalls wird bei eine Kopie angelegt und das Modul mit dem Code ist auch vorhanden.
    Gruß Matthias

    Anzeige
    AW: versuchs mal in einem allg. Modul
    16.03.2014 13:15:34
    Wolfgang
    Hallo Matthias,
    danke für Deine Rückmeldung; Wenn ich den Code richtig interpretiere, speichert er die Arbeitsmappe kpl. ab und löscht alle Tabellenblätter, außer die Tabelle1 (ggfs. bis 4). Was ich nun erreichen müsste, ist es, den Blattcode bzw. auch Funktion vom Tabellenblatt "Grunddaten" vor dem Löschen in das jeweilige neu angelegte Tabellenblatt kopiert zu bekommen. Hier habe ich allerdings keine Idee, wie ich da vorgehen könnte. Hättest Du da evtl. eine Idee? Danke schon jetzt wieder für die Rückmeldung.
    Gruß - Wolfgang

    kopiere doch das Tabellenblatt "Grunddaten"
    16.03.2014 17:33:56
    Matthias
    Hallo
    Dann kopiere doch das Tabellenblatt "Grunddaten"
    und benenne es dann um.
    Gruß Matthias

    Anzeige
    AW: kopiere doch das Tabellenblatt "Grunddaten"
    17.03.2014 05:55:18
    Wolfgang
    Hallo Matthias,
    danke für den Hinweis. Habe gestern noch länger versucht, ihn umzusetzen. Geht allerdings nicht, so ist mir klar geworden, da aus der Tabelle Grunddaten Daten gefiltert werden und die gefilterten Daten in die neue Tabelle kopiert werden. Ich müßte also erreichen, dass vor dem Speichern noch der Blattcode aus Grunddaten in die neu angelegte Tabelle kopiert wird.
    Danke nochmals recht herzlich.
    Gruß - Wolfgang

    316 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige