Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro für bestimmte Tabellenblätter ausführen

Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:07:14
Bastian
Hallo zusammen,
ich habe folgendes Makro in meine Excel Arbeitsmappe eingebunden. Dieses funktioniert auch einwandfrei. Entsprechend des Codes, wird das Makro immer ausgeführt, wenn man speichert, egal auf welchem Tabellenblatt man sich befindet.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FeldSep As String
Dim str As String
Const cDir As String = "Zielordner"
Const cFName As String = "import_"
Const cFExt As String = ".csv"
Dim sFullFile As String
sFullFile = cDir & cFName & Format(Now, "YYYYMMDDhhmmss")
ListSep = ","
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = Worksheets("Tabelle 1").UsedRange
End If
Open sFullFile & ".csv" For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ""
FeldSep = IIf(CurrRow.Row 

Ich möchte nun erreichen, dass das Makro nur ausgeführt wird, wenn ich in bestimmten Tabellenblättern "Speichern" klicke. In den anderen sollte entsprechend beim Speichern nichts passieren. In meinem Fall soll das Makro ausgeführt werden , wenn in den Tabellen 5 und 6 gespeichert wird. Insgesamt besteht meine Arbeitsmappe aus 7 Tabellenblättern.
Kann mir hier jemand weiterhelfen? Ist mein Vorhaben überhaupt möglich?
Bin im Bereich VBA absoluter Einsteiger und habe mir den Code irgendwie zusammengebastelt mit Netzrecherche. Entsprechend komme ich momentan leider nicht weiter.
Vielen Dank im Voraus.
Bastian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:13:46
Werner
Hallo Bastian,
so:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Select Case ActiveSheet.Name
Case "Tabelle5", "Tabelle6"
MsgBox "Hier dein Code"
Case Else
End Select
End Sub
Gruß Werner
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:33:58
Daniel
Wenn du jetzt noch bei Case Else
Cancel = True
einfügst, verhinderst du as Speichern vom falschen Tabellenblatt.
Gruß
Daniel
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:39:27
Werner
Hallo Daniel,
wenn er das will...
Ich bin aber davon ausgegangen, dass ein ganz normales Speichern der anderen Blätter möglich sein soll und er nur bei den bestimmten Blättern das Ausführen des Bevor_Save haben will.
Gruß Werner
Anzeige
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:44:46
Bastian
Hallo Werner, hallo Daniel,
vielen Dank für eure Vorschläge.
Die Variante von Werner hat schon funktioniert, vielen Dank!
Wie Werner geschrieben hat, soll tatsächlich das normale Speichern bei den anderen Blättern möglich sein. Trotzdem danke, Daniel.
Grüße
Bastian
Gerne u. Danke für die Rückmeldung. o.w.T.
26.06.2019 10:46:17
Werner
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:19:07
Nepumuk
Hallo Bastian,
würde ich so machen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim CurrCell As Range
Dim CurrTextStr As String
Dim FeldSep As String
Dim str As String
Dim sFullFile As String
Const cDir As String = "Zielordner"
Const cFName As String = "import_"
Const cFExt As String = ".csv"
Const ListSep As String = ","
If ActiveSheet Is Tabelle5 Or ActiveSheet Is Tabelle6 Then
sFullFile = cDir & cFName & Format(Now, "YYYYMMDDhhmmss")
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = Worksheets("Tabelle 1").UsedRange
End If
Open sFullFile & ".csv" For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ""
FeldSep = IIf(CurrRow.Row 

Gruß
Nepumuk
Anzeige
AW: Makro für bestimmte Tabellenblätter ausführen
26.06.2019 10:46:20
Bastian
Hallo Nepumuk,
danke für deine Hilfe. Werde ich als Alternative zum Vorschlag von Werner auch noch ausprobieren.
Die Variante von Werner läuft jedenfalls schonmal.
Danke und Grüße
Bastian

56 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige