Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern unter fortlaufender Nummer

Speichern unter fortlaufender Nummer
10.12.2006 15:18:32
DieterG.
Hallo zusammen,
folgendses Makro habe ich bei meinen Recherchen gefunden.
Das aktive Tabellenblatt wird beim jeden Klick auf den Button "Speichern" in einen bestimmten Ordner (ThisWorkbook.SaveAs Range("E1").Value ) fortlaufend z.B. 0001, 0002, 0003 gespeichert.
Wenn ich aber das Datei schließe und wieder öffne und wieder auf speichern klicke, kommt der Hinweis: "Die Datei mit dem Namen 0001 existiert schon an diesem Platz. Soll sie ersetzt werden?"
Läßt sich dieses Makro so abändern, daß es wie in meinem Bespiel beschrieben nach dem öffnen bei 0004 weitermacht und nicht wieder bei 0001 anfängt?

Sub Speichern()
Dim sFile As String, sOld As String
sOld = ThisWorkbook.Name
If IsNumeric(Mid(sOld, 9, 4)) Then
sOld = Mid(sOld, 9, 4)
Else
sOld = 0
End If
sOld = Format(CInt(sOld) + 1, "0000")
sFile = Range("A1").Text & "_"
sFile = sFile & Range("B1").Text & "_"
sFile = sFile & sOld & ".xls"
ThisWorkbook.SaveAs Range("E1").Value & _
"\" & sFile
End Sub

Danke für Euerer Hilfe
Gruß Dieter

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

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter fortlaufender Nummer
10.12.2006 16:13:21
Daniel.Eisert
Hallo
deine Datei heißt doch "0001.xls" und ist somit nur 7 Zeichen lang
Damit ist Mid(thisworkbook.name, 9,4) ein Leerstring und IsNumeric immer =FALSE
sOld wird somit immer auf "0" zurückgesetzt und die Datei immer unter "0001.xls" gespeichert.
Das Problem ist also die if-Abfrage mit MID(sOld, 9,4)
wobei mir nicht so ganz klar ist, wozu die benötigt wird.
gruß, Daniel
AW: Speichern unter fortlaufender Nummer
10.12.2006 16:46:27
DieterG.
Hallo Daniel,
das weis ich leider auch nicht. Wie gesagt ich hab das bei recherieren gefunden.
Gruß Dieter
AW: Speichern unter fortlaufender Nummer
10.12.2006 18:51:22
Daniel
Hi
dann schreibs mal so:

Sub Speichern()
Dim sFile As String, sOld As String
sOld = left(right(thisworkbook.name,8),4)
If not IsNumeric(sOld) then sold = "0"
sOld = Format(CInt(sOld) + 1, "0000")
sFile = Range("A1").Text & "_"
sFile = sFile & Range("B1").Text & "_"
sFile = sFile & sOld & ".xls"
ThisWorkbook.SaveAs Range("E1").Value & _
"\" & sFile
End Sub

Gruß, Daniel
Anzeige
AW: Speichern unter fortlaufender Nummer
10.12.2006 19:30:03
DieterG.
Hallo Daniel,
klappt leider auch nicht.
Wenn ich die Datei schließe und anschließend wieder öffne, dann auf "Speichern" klicke kommt wieder der Hinweis:
"Die Datei mit dem Namen 0001 existiert schon an diesem Platz. Soll sie ersetzt werden?"
Gruß
AW: Speichern unter fortlaufender Nummer
10.12.2006 20:28:50
Daniel
Dann setz doch einfach mal einen Haltepunkt und ticker das Makro schrittweise durch.
dann siehst du, welchen Wert sOLD hat und wann der Fehler auftritt.
Den wert der Variablen siehst du als Bubblehelp, wenn du mit der Cursor draufgehst oder du kannst ihn dir mit ?sOld im Direktfenster anzeigen lassen.
Gruß, Daniel
AW: Speichern unter fortlaufender Nummer
10.12.2006 21:27:24
Dieter.G
Das bringt mich leider auch nicht weiter.
Gibt es vielleicht eine andere Möglichkeit eine Datei fortlaufend zu speichern?
Gruß
Anzeige
AW: Speichern unter fortlaufender Nummer
10.12.2006 21:59:36
Daniel
sorry, jetzt bin ich auch mit meinem Latein am Ende.
Welchen Wert hat denn sOld in dieser Zeile?
If not IsNumeric(sOld) then sold = "0"
Gruß, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige