Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateiname

Dateiname
24.02.2004 11:56:47
Lokutus
Hi,
Ich schonwieder.
Die Rechnungen werden jetzt im Format Jahr/ReNr.xls gesichert. Was muss ich in den Code einfügen um aus einem Adressfeld (Zelle heisst ReName) welches in der jeweiligen Rechnung steht in den Dateinamen einfliesen zu lassen? Also z.B. Rechnung an Firma Test GmbH soll als Dateiname Test2004-00001.xls gespeichert werden. Es würde auch genügen wenn die ersten 6 Stellen des Names in die gesicherte Rechnung einfliesen würden.
bisheriger Thread : http://xlforum.herber.de/messages/387423.html
Danke im voraus
Lokutus
**********************************************************
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim myPfad As String
'Pfad bitte anpassen
'Alternativen Pfad eintragen
'hier wird im Standardarbeitsverzeichnis gespeichert
myPfad = "K:\Rechnung"
'myPfad = Application.DefaultFilePath
If Range("Rechnungsnummer") = "" Then
MsgBox "Keine Rechnungsnummer vorhanden" & vbCrLf & "Datei wird nicht gespeichert"
Exit Sub
Else
ThisWorkbook.SaveAs myPfad & "\" & Range("Rechnungsnummer") & ".xls", True
End If
End Sub


Private Sub Workbook_Open()
'byRamses
'Das Makro in das Workbook_Open Ereignis einer Vorlage !!! kopieren
'um die automatische Nummern erstellung zu generieren.
'Beim speichern der Vorlage darf in der Zelle mit dem Namen "Rechnungsnummer"
'nichts stehen
'Ansonsten kann das Makro einer Schaltfläche zugwiesen werden.
'In der Zelle mit dem Namen "Rechnungsnummer" darf nichts stehen !!
'beim ausführen bzw. Start des Makros
On Error GoTo R_Error
Dim newNr As Variant, oldNr As Variant
Dim FileName As String
FileName = "K:\Rechnung\Rechnung.ini"
'Prüfen ob bereits eine Rechnungsnummer in der Zelle steht
'Um ein erneutes hochzählen bei späterem öffnen der Datei zu vermeiden
If Range("Rechnungsnummer") <> "" Then Exit Sub
'Erstellen einer externen Datei zum dokumentieren der
'fortlaufenden 5 stelligen Nummer
Close #1
'Öffnen der INI Datei
restart:
'Pfad der Datei bitte anpassen
Open FileName For Input As #1
'einlesen der alten Nummer
Line Input #1, oldNr
Close #1
'Berechnen und schreiben der neuen Nummer
newNr = oldNr + 1
Open FileName For Output As #1
Write #1, newNr
'Schliessen der INI Datei
Close #1
'Länge der Zahl bestimmen
Select Case Len(newNr)
Case 1
newNr = "0000" & newNr
Case 2
newNr = "000" & newNr
Case 3
newNr = "00" & newNr
Case 4
newNr = "0" & newNr
Case 5
newNr = newNr
Case 6
MsgBox "Zahlenlimit überschritten"
Exit Sub
End Select
'Rechnungsnummer ist ein Name der sich auch eine Zelle bezieht
'Achtung:: Es dürfen keine Doppelpunkte, Slash oder Backslasch verwendet werden
Range("Rechnungsnummer") = Format(Now, "yyyy") & "-" & newNr
R_Exit:
Exit Sub
R_Error:
Select Case Err
Case 53
'Datei ist noch nicht vorhanden
Open FileName For Output As #1
Close #1
Open FileName For Output As #1
Write #1, 0
Close #1
Err.Clear
Resume restart
Case 54
'Datei ist bereits geöffnet und wurde noch nicht wieder geschlossen
Close #1
Resume restart
Case Else
MsgBox Err & ": " & Err.Description
Resume R_Exit
End Select
End Sub

**********************************************************************************************

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiname
24.02.2004 12:43:58
Mike E.
Hallo,
so z.B.:
ThisWorkbook.SaveAs myPfad & "\" & Range("ReName") & Range("Rechnungsnummer") & ".xls", True
Gruß
Mike
AW: Dateiname
24.02.2004 15:00:36
Lokutus
Danke hat den gewünschten Erfolg erzielt.
Gruss Lokutus
AW: Dateiname
24.02.2004 15:09:22
Ramses
Hallo
wenn du schon Fragen stellst, solltest du auch darauf antworten :-(
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige