Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern einzelner Tabellenblätter

Speichern einzelner Tabellenblätter
01.10.2004 09:16:23
christoph
Moin.
Ich habe die eigentlichen Symbolleisten ausgeblendet und durch eigenen ersetzt. Über einen der dort angebrachten Buttons kann man die Funktion SPEICHERN aufrufen und über Application.GetSaveAsFilename die Tabellen "Eingegebene Daten" & "Bewertung" als seperate Datei speichern. Das funktioniert auch, nur werden erst meine Symbolleisten ausgeblendet und man sieht wieder die alten und meine Arbeitsmappe wird geschlossen, was nicht passieren soll.
Ich habe den Code von Rolf, doch der kann mir auch nicht helfen.
Wie muß der Code geändert werden damit die entsprechenden Tabellen in einer seperaten Datei einfach gespeichert werden und sonst nix passiert?

Sub SPEICHERN()
Dim Datum As Variant
Dim Projektname As String
Projektname = Worksheets("Eingabe").Range("C2")
Datum = Format(Date, "yymmdd")
' FESTLEGEN DES LAUFWERKS IN DEM GESPEICHERT WERDEN SOLL
'ChDrive "D"
' FESTLEGEN DES ORDNERS IN DEM GESPEICHERT WERDEN SOLL
'ChDir "D:\TEST"
' AUSWAHL DER TABELLENBLÄTTER DIE GESPEICHERT WERDEN SOLLEN
Sheets(Array("Eingegebene Daten", "Bewertung")).Select
Sheets(Array("Eingegebene Daten", "Bewertung")).Copy
' SPEICHERN MIT EINEM VORGEGEBENEN DATUM UND NAMEN U
NeuName = Datum & " " & Projektname
DlgAnswer = Application.GetSaveAsFilename(InitialFileName:=NeuName, _
fileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls")
If DlgAnswer <> "Falsch" Then
ActiveWorkbook.SaveAs Filename:=NeuName, FileFormat:=xlNormal
'ActiveWorkbook.Close
End If
End Sub

Danke für Hilfe
christoph

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern einzelner Tabellenblätter
01.10.2004 11:30:47
Axel
Hallo Christoph,
das kann ich nicht nachvollziehen.
Der Code läuft bei mir einwandfrei so wie er sollte. Ich vermute, dass du nicht alles gepostet hast. Laufen da ggf. noch weitere Anweisungen vor oder nach der Speichern()-Prozedur ab?
Starte die Abarbeitung doch mal direkt aus der Entwicklungsumgebung im Einzelschrittmodus. Dann kannst du dein eigentliches Problem sicherlich einkreisen.
Gruß
Axel
Fehler gefunden, aber ...
01.10.2004 12:00:13
christoph
Danke, habe den Fehler gefunden.
Hatte "Workbook_Deaktivate" um die Leisten wieder einzublenden wenn das Programm beendet wird.Dann muss es ja passieren.
Verwende ich statt dessen "Workbook_BeforeClose" habe ich andere Probleme, kann ich also nicht verwenden.
Welchen funktion kann ich statt "Workbook_Deaktivate" oder "Workbook_BeforeClose" noch verwenden?
Christoph
Anzeige
AW: Fehler gefunden, aber ...
01.10.2004 12:10:24
Axel
Du kannst die Symbolleisten direkt ein-/ausblenden über Commandbars("Name der Leiste").Visible = True/False
Gruß
Axel
AW: Fehler gefunden, aber ...
01.10.2004 12:42:44
christoph
danke,
ist mir bekannt.
Nur muß ich die Leisten einblenden wenn das Workbook geschlossen wird. und das hatte ich in "Workbook_Deaktivate", da bei "Workbook_BeforeClose" meine eigenen Leisten eingeblendet werden und dann erst die Abfrage ob die Änderungen gespeichert werden sollen oder nicht, kommt. Klicke ich hier auf "Abbrechen", so ist mein programm noch offen, aber meine Steuerleisten weg. und Jetzt suche ich nach einer Alternative zu der Funktion "Workbook_Deaktivate" oder "Workbook_BeforeClose".
Hat jemand ein Tip?
Christoph
Anzeige
AW: Fehler gefunden, aber ...
01.10.2004 12:57:58
Axel
Also, noch einmal ganz langsam oder besser von vorne.
Wann soll welche Leiste ein- bzw. ausgeblendet werden?
Liste das Szenario bitte noch einmal detailliert auf.
Ganz allgemein:
Wenn eine Leiste nur für ein Workbook eingeblendet werden soll, dann sind
Workbook_Activate() und Workbook_Deactivate() schon die richtigen Kandidaten. Alternativ kann auch Workbook_Window(De)Activate() verwendet werden.
Gruß
Axel
Programmerläuterung!
01.10.2004 13:26:27
Christoph
Also:
Wenn mein Programm gestartet wird, wird über Workbook_Open() die Systemleisten ausgeblendet und meine eigenen eineblendet. Wenn das Programm beendet wird wird über Workbook_Deaktivate die Systemleiste wieder so hergestellt wie es normal ist.
Problem:
Wenn ich den code oben zum speichern nehme, werden die Tabellenblätter in eine neue Mappe kopiert und mein Programm während diesen Vorgangs DEAKTIVIERT, was zur folge hat dass meine Leisten durch die Standardleisten ersetzt werden (unerwünscht!!!)
Problem bei Alternative mit Workbook_BeforeClose:
Wenn ich Mein brogramm beende, werden meine Leisten ausgeblendet und durch die Standardleisten ersetzt. Dann kommt erst die Standardabfrage von Excell "Wollen sie die änderungen speicher?". Klicke ich hier auf abbrechen, bleibt mien Tool offen und meine Leisten sind Weg (ebenfalls unerwünscht!!!)
Jetzt suche ich nach einer Alternative zu Workbook_BeforeClose & Workbook_Deaktivate. Wenn´s keine gibt müsste ich ne eigene Routine schrieben um dies Problem zu lösen (= zusätzliche Arbeit = ebenfalls unerwünscht!!!)
Soweit alles verstanden und vieleicht noch ne Lösung parat?
Gruß
christoph
Anzeige
AW: Programmerläuterung!
01.10.2004 15:06:11
Axel
Habe ich soweit verstanden.
Aber warum werden deine Leisten bei Aufruf deiner Speicherroutine deaktiviert?
Am besten du stellst die Mappe auf den Server, dann kann ich mir selbst einen Überblick verschaffen, wann welche Routinen gestartet werden.
Gruß
Axel
AW: Programmerläuterung!
Udo
Verwende eine eigene Schließroutine, aber ohne Arbeit gehts natürlich nicht.
Ggf. findest du ja jemanden hier im Forum, der dir das abnimmt.
Udo
AW: Programmerläuterung!
04.10.2004 07:27:06
christoph
Danle axel und Udo,
habe jetzt eine eigene Routine entwickelt mit der mein Workbook geschlossen wird und ich die beschriebenen Probleme nicht mehr habe.
Gruß Christoph
Anzeige
AW: Programmerläuterung!
04.10.2004 07:28:56
christoph
Danle axel und Udo,
habe jetzt eine eigene Routine entwickelt mit der mein Workbook geschlossen wird und ich die beschriebenen Probleme nicht mehr habe.
Gruß Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige