AW: Gleich zwei Wünsche auf einmal
16.12.2003 02:07:41
udo
Hi Markus,
zu 1.
Makro f. einen Button:
-----------------------------------------------------
Sub Speichern_als_Backup()
ThisWorkbook.SaveAs Range("A3").Value & ".xls"
End Sub
-----------------------------------------------------
das ganze funktioniert aber nur , wenn du noch ... berücksichtigts :
In Zelle A3 dieses Blattes schreibst folgende Formel ( = A2&A1 )
- in A1 wird autom. der Dateiname eingeschrieben beim Starten der Datei.
- in A2 wird von dir der Speicherpfad definiert, beides zusammen wird dann in A3
verkettet, und steht somit dann beim Speichern mit dem obrigen Makro dann als
Speicherpfad zur Verfügung für dein Backup !!!
was musst du noch beachten , dass du in A2 ( Speicherpfad zB. C:\Test\test1\ usw... )
angibst, und dabei der letzte Eintrag in dieser Zelle ein Backslash ist.
Jeder Backslash definiert dabei einen Ordner.
Bedenke dabei, dass das Makro dann beim Speichern die Ordner automatisch anlegt,
solten diese in Wirklichkeit noch gar nicht existieren, ohne dass du diese vorher
zuerst entwerfen musst, bzw. anlegen ...
Du brauchst also gar keine Fehlermeldung usw. , da die Ordner autom. erstellt werden ,
Wie gesagt, du kannst dann den Zielpfad ( also entspr. Partition ( C: , D: , F: usw.
solltest du mehrere Haben als Beispiel, sowie die Ordner und ihre Unterordner , dann
dort in A2 vorgeben.
( allerdings darfst du keine verbotenen Zeichen schreiben, da sonst dein Makro auf
Fehlermeldg. geht , wie zB. ? " ! )
okay, jetzt brauchst du nur noch folgendes Makro in das Workbook open ereignis setzen,
damit wird dann der Dateiname der Originaldatei in die Zelle A1 eingesetzt.
letztlich hast du dann beim Speichern mit deinem Button den Wert in A3 stehn , dersich
aus dateiname ( A1 ) und dem Speicherpfad in A2 zusammensetzt zur Verfügung f. d. Backup.
Die herkömmliche Standartleiste aus Excel, wo der Speicherbutton zu sehn ist , blendest halt einfach aus, über Ansicht ...
---------------------------------------------------------------------
Private Sub Workbook_Open() 'oder
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ActiveSheet.Select
Dim Dateiname As String
Dim Namenslänge As Integer
Dateiname = ActiveWorkbook.Name
'Anzahl der Zeichen des Dateinamens feststellen
Namenslänge = Len(Dateiname)
'Von links den Dateinamen abzgl. Jahreszahl (2 oder 4 stellig und eventuelles Lehrzeichen?) verwenden
Dateiname = Left(Dateiname, Namenslänge - 4)
'Dateinamen einfügen
Range("A1").Value = Dateiname
Range("A2").Select
Application.ScreenUpdating = True
End Sub
---------------------------------------------------------------------------
achso, du kannst natürl. vor dem Speichern die Angabe des Dateinamens in A1 auch noch abändern, somit wird sie dann halt in dem in A2 def. Zielpfad, sowie dem in A1 def. Namen beim Speichern per Button abgelget usw.
Und du darfst keine Partitionen angeben , die gar nicht existieren ( in A2 )also z.B.
E:\Test\ ... wenn du nur C:\ hast , okay ;-) aber das weist du ja bestimmt alles
bei EXCEL gut - VBA gut
so , das müsste dir helfen , Gruß udo
........................................................................................................................................................................................................................................................................................
Hier mal noch zusätzliche , brauchbare Beispiele von versch. Helfern aus dem Forum , sowie mir selbst , ... viel Erfolg allerseits , Gruß udo
Jahreskalender mit Markierfunktionen ( Für Studenten bestens geeignet ) , ( v. udo )
https://www.herber.de/bbs/user/2251.zip ( 900 Kb ) ****
Zahlen vertauschen per Zufall ( udo ) **
https://www.herber.de/bbs/user/2036.xls ( 60 Kb )
Markierhilfe ( udo ) ***
https://www.herber.de/bbs/user/2035.xls ( 48 Kb )
https://www.herber.de/bbs/user/2117.zip ( 170 Kb )
Arbeitszeiterfassung mit Jahreskalender & Feiertagsübersicht ... Update kommt demnächst ( v. udo , EXCEL XP , 2000 ) ***
https://www.herber.de/bbs/user/1834.zip ( 347 Kb )
Datumwert abgleichen / suchen und entspr. Zeilen kopieren in andere Tabellen ( v.udo ) **
https://www.herber.de/bbs/user/1920.xls ( 70 Kb )
intelligente Gültigkeit - erweitert sich autom. um neue Einträge in der Gültigkeitsvorgabe ( v. Boris ) *****
https://www.herber.de/bbs/user/1953.xls ( 40 Kb )
verschiedenen Beispiele zusammen , mit allen mögl. Formeln ( v. Max ) *****
https://www.herber.de/bbs/user/1946.xls ( 300 Kb )
Suchen X Einträgen, je nach Eingabe v. Buchstaben ( v. Heinz ) ****
Die Datei https://www.herber.de/bbs/user/1959.xls wurde aus Datenschutzgründen gelöscht
( 44 Kb )
Hajos Excelseite mit tollen Beispielen mit & ohne VBA's ( v. Hajo_Zi ) *****
http://home.media-n.de/ziplies/
Bewertungen meinerseits ( ***** sehr z. empfh. Tipp , **** sehr gut , *** gut , ** unspektakulär aber brauchbar ... )
( Anregeungen oder Tipps speziell zu meinen ( udo ) Beispielen gerne an udo-de@web.de )