Anzeige
Archiv - Navigation
1472to1476
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
Inhaltsverzeichnis

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

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

245 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige