28.02.2020, 11:03
Moin,
ich finde leider entweder nur Lösungen mit Bezug zu Datenbanken oder einfach keine für meinen Fall passende Alternative.
Mein Problem: Ich habe im Tabellenblatt "Daten1" von G71:O96 Datensätze und von G94:O109 ebenfalls, die ich später als Tabelle formatiere.
Gewisse Tools kann ich leider nicht ausführen, wenn ich diese vorher als Tabelle formatiere. Also mache ich dies per Makro nachdem ich das Tool ausgeführt habe, somit habe ich einmal Tabelle "Liste" und einmal die Tabelle "Luft".
Wenn nun jemand die Datei öffnet und die unformatierten Datensätze per Makro in Tabellen umwandelt, soll dies aber auf gar keinen Fall so abgespeichert werden. Also habe ich folgendes mit eingebaut, das die Tabellen wieder in Bereich konvertieren sollte.. Das funktioniert aber nicht ganz so wie gedacht, deswegen bräuchte ich dort hilfe:
Ich hatte es anfangs nur mit:
probiert.
Hat natürlich Fehlermeldungen gegeben, da die Tabellen ja auch nicht zwingend immer vorhanden waren, wenn der Nutzer das Makro nicht ausgeführt hat, weil er es nicht brauchte. Also wollte ich eine IF Funktion einbauen, die logischerweise nur dann die Liste in Bereiche konvertiert, wenn die Liste mit dem Namen auch vorhanden ist...
Kann mir wer helfen?
Grüße
Zantana
ich finde leider entweder nur Lösungen mit Bezug zu Datenbanken oder einfach keine für meinen Fall passende Alternative.
Mein Problem: Ich habe im Tabellenblatt "Daten1" von G71:O96 Datensätze und von G94:O109 ebenfalls, die ich später als Tabelle formatiere.
Gewisse Tools kann ich leider nicht ausführen, wenn ich diese vorher als Tabelle formatiere. Also mache ich dies per Makro nachdem ich das Tool ausgeführt habe, somit habe ich einmal Tabelle "Liste" und einmal die Tabelle "Luft".
Wenn nun jemand die Datei öffnet und die unformatierten Datensätze per Makro in Tabellen umwandelt, soll dies aber auf gar keinen Fall so abgespeichert werden. Also habe ich folgendes mit eingebaut, das die Tabellen wieder in Bereich konvertieren sollte.. Das funktioniert aber nicht ganz so wie gedacht, deswegen bräuchte ich dort hilfe:
Code:
Sub Workbook_BeforeClose(Cancel As Boolean)
'1. Versuch
Dim td As DAO.TableDef, log1 As Boolean
For Each td In CurrentDb.TableDefs
If td.Name = "Liste" Then
ActiveSheet.ListObjects("Liste").Unlist
End If
If td.Name = "Luft" Then
ActiveSheet.ListObjects("Luft").Unlist
End If
'2. Versuch
'Dim tbl As TableDef
'For Each tbl In CurrentDB.TableDefs
'If tbl.Name = "Liste" Then
'ActiveSheet.ListObjects("Liste").Unlist
'End If
'If tbl.Name = "Luft" Then
'ActiveSheet.ListObjects("Luft").Unlist
'End If
'Sheets("Daten1").Select
'Range("G71").Select
'If TableExists("Liste") Then
'ActiveSheet.ListObjects("Liste").Unlist
'End If
'Range("G94").Select
'If TableExists("Luft") Then
'ActiveSheet.ListObjects("Luft").Unlist
'End If
End Sub
Ich hatte es anfangs nur mit:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Sheets("Daten1").Select
'ActiveSheet.ListObjects("Liste").Unlist
'ActiveSheet.ListObjects("Luft").Unlist
End Sub
Hat natürlich Fehlermeldungen gegeben, da die Tabellen ja auch nicht zwingend immer vorhanden waren, wenn der Nutzer das Makro nicht ausgeführt hat, weil er es nicht brauchte. Also wollte ich eine IF Funktion einbauen, die logischerweise nur dann die Liste in Bereiche konvertiert, wenn die Liste mit dem Namen auch vorhanden ist...
Kann mir wer helfen?
Grüße
Zantana