Live-Forum - Die aktuellen Beiträge
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

Name aus Zelle = Speichername

Name aus Zelle = Speichername
25.01.2006 09:19:24
Huber
Hallo,
habe folgendes Problem.
Möchte aus einer Zelle in der ein Name steht gerne per Button die Datei speichern und zwar mit fortlaufendem Zusatz.
d.h Button drücken in Zelle A2 steht Ziegler also Dateiname Ziegler1.xls
Beim nächsten mal beim Namen Ziegler dann Dateiname Ziegler2.xls.
Danke im voraus...

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

Betreff
Datum
Anwender
Anzeige
AW: Name aus Zelle = Speichername
25.01.2006 09:30:47
Matthias
Hallo Huber,
am besten, du benutzt noch eine Zelle als Zähler (im Beispiel B2):

Private Sub CommandButton1_Click()
Dim fn As String
Dim z As Integer
Dim z_name As Range, z_zähler As Range
Dim tmp
Set z_name = Range("A2")
Set z_zähler = Range("B2")
'Zähler merken, falls speichern misslingt
tmp = z_zähler
'Zähler hochzählen
If tmp = "" Then
z_zähler = 1
Else
z_zähler = z_zähler + 1
End If
'Dateinamen zuweisen
fn = ThisWorkbook.Path & "\" & z_name & z_zähler & ".xls"
'Datei speichern
On Error Resume Next
ThisWorkbook.SaveAs Filename:=fn
'Fehlerbehandlung
If Err.Number > 0 Then
z_zähler = tmp
MsgBox Err.Description, vbCritical, "Fehler " & Err.Number
Err.Clear
End If
End Sub

Gruß Matthias
Anzeige
AW: Name aus Zelle = Speichername
25.01.2006 09:42:21
Sönke
Hallo!
So als Ideenvorschlag:
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "\" & ActiveCell.Value
Jetzt muss man aber noch abfragen, ob diese Datei existiert und ggf. mit anderem Namen abspeichern (nummerieren). Also braucht man z.B. eine Schleife + die Abfrage, welche Dateien im Verzeichnis bereits existieren.
for i = 1 to 100 step 1
arrFiles = FileArray(ActiveWorkbook.Path & "\" , ActiveCell.Value)
If not IsArray(arrFiles) Then
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "\" & ActiveCell.Value & i
exit sub
end if
next i
Hier die

Function Filearray (kommt nicht von mir, sondern auch hier aus dem Forum):

Function FileArray(strPath As String, ByVal strPattern As String) 'stellt Anzahl der Dateien fest
Dim arrDateien()
Dim intCounter As Integer
Dim strDatei As String
If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
strDatei = Dir(strPath & strPattern)
Do While strDatei <> ""
intCounter = intCounter + 1
ReDim Preserve arrDateien(1 To intCounter)
'weist Datei(i) einen Namen zu
arrDateien(intCounter) = strDatei
'       MsgBox ("Diese Datei: " & arrDateien(intCounter))
'geht zur nächsten Datei im Verzeichnis
strDatei = Dir()
'       MsgBox ("nächste Datei: " & strDatei)
Loop
If intCounter > 0 Then FileArray = arrDateien
End Function

Hoffe Dir weitergeholfen zu haben.
Gruß
Sönke
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige