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

fortlaufendes speicern

fortlaufendes speicern
23.01.2006 09:01:32
Axel
Hallo Leute,
ich hätte da mal ein kleines Thema zu lösen.
Folgende Aufgabe:
In einem Rechnungsformular soll nach dem betätigen eines speichern Buttons eine Zelle (z.B. D4) fortlaufend hochgezählt werden. Diese Zahl soll auch im Speichername stehen.
erstmal habe dich das folgendermaßen gelöst:

Private Sub speichern_Click()
Const strPath As String = "C:\excel\" 'Pfad anpassen
Dim strFile As String
strFile = ActiveSheet.Range("B8").Value 'Zelle anpassen
strFile1 = ActiveSheet.Range("Q8").Value
If Dir(strPath) = "" Then
MsgBox "Pfad existiert nicht"
Exit Sub
End If
If Dir(strPath & strFile & strFile1 & ".xls") = "" Then
ActiveWorkbook.SaveAs strPath & strFile & strFile1
Else
MsgBox "Datei existiert bereits"
End If
End Sub

Allerdings ist das nicht wirklich DAS.
Das heißt ich bräuchte da mal etwas Hilfe.
B8 ist hier der Rechnungsname und Q8 die Rechnungsnummer.
Nun brauche ich ein Feld wo nach dem speichern automatisch hochgezählt wird.
Hätte da jemand was? Oder ne Alternative?
Ich bedanke mich schon mal jetzt bei euch...
Gruß aus Meck Pomm - Axel

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fortlaufendes speicern
23.01.2006 09:20:56
ede
hallo, versuchs mal so:

Private Sub speichern_Click()
Const strPath As String = "C:\excel\" 'Pfad anpassen
Dim strFile As String
dim intRgNummer as integer 'RgNummer
strFile = ActiveSheet.Range("B8").Value 'Zelle anpassen
strFile1 = ActiveSheet.Range("Q8").Value
intRgNummer =ActiveSheet.Range("D4").Value
ActiveSheet.Range("D4").Value=ActiveSheet.Range("D4").Value+1
strFile1=strFile1 & intRgNummer
If Dir(strPath) = "" Then
MsgBox "Pfad existiert nicht"
Exit Sub
End If
If Dir(strPath & strFile & strFile1 ".xls") = "" Then
ActiveWorkbook.SaveAs strPath & strFile & strFile1
Else
MsgBox "Datei existiert bereits"
End If
End Sub

gruss
Anzeige
AW: fortlaufendes speicern
23.01.2006 10:42:56
Axel
Hallo ede, erstmal Danke aber:
Syntaxfehler
diese Zeile unterlegt er rot:
If Dir(strPath & strFile & strFile1 ".xls") = "" Then
Gruß Axel
AW: fortlaufendes speicern
23.01.2006 11:01:18
ede
hallo nochmal
kommt vom rauskopieren, richtig lautet die zeile:
If Dir(strPath & strFile & strFile1 & ".xls") = "" Then
gruss
AW: fortlaufendes speicern
23.01.2006 10:49:29
volker
hallo axel
ich würde den ganzen ablauf an das ereigniß Workbook_BeforeSave hängen dann brauchst du den button nicht mehr und auch deine hilfszellen fallen weg
das makro geht her und überprüft vor jedem speichern ob die datei schon da ist wenn ja wird eine 3-stellige nummer drangehängt
aussehen würde das ganze dann so:

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

es funktioniert nur beim drücken von speichern
beim drücken von speichern unter springe ich aus der routine raus
hoffe du kanst es verwenden
gruß volker.
Anzeige
AW: fortlaufendes speicern
23.01.2006 11:05:29
Axel
Sorry aber funktioniert nicht. Muß ich da noch was anpassen?
Gruß Axel
AW: fortlaufendes speicern
23.01.2006 11:48:01
volker
hallo axel
bei mir ist es gegangen.
du darfst den code nicht dahin kopieren wo deine Makros stehen
sondern unter "Diese Arbeitsmappe"
gruß Volker.
AW: fortlaufendes speicern
24.01.2006 12:47:23
Axel
Danke Volker,
funktioniert ja super, aber ich kann jetzt trotz alle dem keine Datei zuordnen.
Es sollte folgendermaßen aussehen:
Schmidt_001.xls
Schmidt_002.xls
Meier_003.xls
etc.
Kann man in den Code nicht "B8" einbauen so das er da den Namen für die Rechnung herbekommt?
Nochmal Danke an alle. So langsam wirds ja
Gruß Axel aus MV
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige