Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

speichern + dateiname

Forumthread: speichern + dateiname

speichern + dateiname
24.01.2006 09:21:04
Axel
Hallo Leute,
erstmal Danke Volker und ede die Idee mit BeforeSave ist nicht schlecht aber
die Rechnung hat dann immer nur einen Namen. Eigentlich sollte es so aussehen, dass ich immer den Rechnungsnamen von B8 beim speichern habe. z.B.
Schulz_001.xls
Schulz_002.xls
Meier_003.xls
Rembrand_004.xls
Rembrand_005.xls
na ja und so weiter.
Soweit ist der Code ja in Ordnung fehlt nur die Verknüpfung zu B8.
Hätte da noch jemand ne Idee?
Danke im voraus Axel

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then Exit Sub
If Dir(ActiveWorkbook.Path & "\" & ActiveWorkbook.Name) <> "" Then
nam = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)
If InStr(nam, "_") Then
nam = Left(nam, InStrRev(ActiveWorkbook.Name, "_")) & Format(Right(nam, 3) + 1, "000")
Else
nam = nam & "_001"
End If
End If
Application.DisplayAlerts = False
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=nam
Application.EnableEvents = True
Application.DisplayAlerts = True
Cancel = True
End Sub

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: speichern + dateiname
24.01.2006 17:52:53
volker
hallo axel
probiere es mal so

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
'Filename zusammenbauen
If Cells(7, 2) <> "" Then fnam = Cells(7, 2) Else fnam = ActiveWorkbook.Path
If Right(fnam, 1) <> "\" Then fnam = fnam & "\"
If Cells(8, 2) <> "" Then fnam = fnam & Cells(8, 2) Else fnam = fnam & ActiveWorkbook.Name
'wenn "speichern unter"
If SaveAsUI = True Then
fnam = Application.GetSaveAsFilename
If fnam = False Then Exit Sub
End If
'extension entfernen
If InStr(fnam, ".") Then fnam = Left(fnam, InStrRev(fnam, ".") - 1)
'evtl. vorhandene laufende nummer entfernen
If InStr(fnam, "_") Then fnam = Left(fnam, InStrRev(fnam, "_") - 1)
'prüfung ob datei vorhanden ist
dat = Dir(fnam & "*.xls")
ind = 0
'wenn datei da ist dann immer mit einer neuen lfd nummer prüfen
While dat <> ""
ind = ind + 1
dat = Dir(fnam & "_" & ind & ".xls")
Wend
'speichern
Application.DisplayAlerts = False
Application.EnableEvents = False
If ind <> 0 Then fnam = fnam & "_" & ind & ".xls" Else fnam = fnam & ".xls"
ActiveWorkbook.SaveAs Filename:=fnam
Application.EnableEvents = True
Application.DisplayAlerts = True
Cells(7, 2) = Left(fnam, InStrRev(fnam, "\") - 1)
Cells(8, 2) = Right(fnam, Len(fnam) - InStrRev(fnam, "\"))
End Sub

habe in b8 den dateinamen und b7 den pfad
wenn du speichern unter drückst ist egal was in b7/b8 steht
probiere es mal aus
gruß volker
Anzeige
AW: speichern + dateiname
25.01.2006 08:35:12
Axel
Hallo Volker,
Ansatz ist richtig.
Vielleicht drücke ich mich auch flasch aus.
Sieh dir das mal an, ich denke dann weißt du was ich meine.
http://www.interphon.net/rechnung_v2.xls
Danke schon mal... Axel aus MV
AW: speichern + dateiname
25.01.2006 10:42:39
volker
hallo ,
da war ich etwas auf dem holzweg .
wenn du schon so ein formular hast dann würde ich natürlich nicht auf die buttons verzichten .
eigentlich müßtest du ja nur eine gültige rechnungsnummer vergeben, dazu wäre es vielleicht gut wenn du in einem anderen sheet dir zum beispiel alle schon vergebenen rechnungsnummern speicherst (vielleicht sogar mit datum betrag und kunde) . ist aber nur so eine idee.
jedenfalls so wie ich es machen wollte glaube ich nicht daß es für die wert hat.
gruß volker.
Anzeige
AW: speichern + dateiname
25.01.2006 11:42:18
Axel
Danke Volker,
hab jetzt die Lösung vom Thread oben genommen und nur nen Bindestrich zwischengesetzt.
wird jetzt im Format:
Meier-001.xls
Meier-002.xls
Schulz-003.xls
Rembrand-004.xls
gespeichert.
Sollte reichen denke ich.
Aber wenn du noch nen anderen Code hast denn zeig mal
Grüße aus MV von Axel und Danke
Anzeige
AW: speichern + dateiname
25.01.2006 13:44:59
volker
hallo,
den Bindestrich habe ich damals (beforeSave lösung) nur reingemacht weil ich dachte du willst in dein excel blatt den kompletten dateinamen (meier-25.xls) stehen haben (war vom pgm-ablauf einfacher nach dem bindestrich zu suchen)
da du aber nur meier stehen haben willst brauchchst du ihn nicht unbedingt (sieht aber besser aus)
da ich in einer schleife die erste nicht vergebene nummer suche wird , falls du jemals eine datei zb. meier-25.xls löschst , diese nummer neu vergeben obwohl es vielleicht eine meier-26.xls gibt soll das so sein ?
gruß volker.
Anzeige
AW: speichern + dateiname
25.01.2006 14:10:55
Axel
Hallo,
nein, die Idee mit dem Bindestrich ist übersichtlicher wegen der Nummer die dann hinterher kommt. Das ist so in Ordnung.
Hab herzlichen Dank ersteinmal.
Das mit dem Button habe ich auch gelassen ist besser so.
Was sagst du den so von der Idee her! Ich habe 3 Kunden die so was haben wollen.
Hast du noch ne Idee was man einbauen kann oder sollte?
Gru Axel
Anzeige
AW: speichern + dateiname
25.01.2006 14:18:27
Axel
Hallo
eine Idee von dir ist gut.
das mit dem Blatt wo alle dateien ersichtlich sind mit Rechnungsnummer und Namen und Datum und wenn möglich gleich zum anklicken.
Wie könnte so`n VBA aussehen?
Gruß Axel
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige