Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: beim speichern forlaufende Nummer vergeben

beim speichern forlaufende Nummer vergeben
15.02.2016 08:45:24
david.a2k
Hallo,
wie kann ich folgendes Problem lösen:
eine Datei soll immer mit dem Zusatz der aktuellen KW abgespeichert werden (z.B. Dateiname_KW10).
Wenn die Datei aber in der gleichen KW nochmals gespeichert wird, soll eine fortlaufende Nummerierung an den Dateinamen gehängt werden (beginnend mit 2):
Also z.B. Dateiname_KW10_2
Mein Code sieht derzeit so aus (KW ist eine Variable der weiter oben die aktuelle KW zugewiesen wird:
If Dir("Pfad\Dateiname KW" & KW) "" Then
ActiveWorkbook.SaveAs Filename:="Pfad\Dateiname KW" & KW& "_2", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Else
ActiveWorkbook.SaveAs Filename:="Pfad\Dateiname KW" & KW, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End If
das funktioniert ja aber nur einmal für den zweiten Speichervorgang.
Wie kann man das variabel gestalten?
Danke und Gruß
David

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: beim speichern forlaufende Nummer vergeben
21.02.2016 10:40:54
fcs
Hallo David,
in einer Schleife muss dann die höchste gespeicherte Zählnummer ermittelt und um 1 erhöht werden.
Gruß
Franz
Sub Test()
Dim KW
Dim strPfad As String, strDatName As String
Dim strDatei As String, varNr, varNr2
'    KW = ThisWorkbook.Sheets(1).Range("A1") 'Testzeile
'    ThisWorkbook.Sheets(1).Copy             'Testzeile
strPfad = "C:\Users\Public\Test\"       'Pfad anpassen !!!
strDatName = "Dateiname KW"             'Name anpassen !!!
If Dir(strPfad & strDatName & KW & ".xlsx")  "" Then
varNr = 1
strDatei = Dir(strPfad & strDatName & KW & "_*.xlsx")
Do Until strDatei = ""
varNr2 = Mid(strDatei, InStr(strDatei, "_") + 1)
varNr2 = Left(varNr2, InStr(varNr2, ".") - 1)
If Val(varNr2) > varNr Then varNr = Val(varNr2)
strDatei = Dir
Loop
varNr = varNr + 1
ActiveWorkbook.SaveAs Filename:=strPfad & strDatName & KW & "_" & varNr, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Else
ActiveWorkbook.SaveAs Filename:=strPfad & strDatName & KW, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End If
End Sub

Anzeige
AW: beim speichern forlaufende Nummer vergeben
21.02.2016 10:51:51
Oberschlumpf
Hi David
dir ist aber schon klar, wenn du mit dem Dateiformat
FileFormat:=xlOpenXMLWorkbook
speicherst, dass diese Dateie(en) dann im ganz normalen xlsx-Format gespeichert werden, UND! dass dadurch jeglicher VBA-Code verloren geht?
Ist das genau so gewünscht, oder möchtest du in jeder gespeicherten Datei VBA-Code erhalten?
Ciao
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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