Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1136to1140
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
Makro zum Speichern in Ordnerstruktur
andreas
Hallo zusammen,
ich habe hier ein Makro aufgezeichnet dass ich mit Parametern ergänzen muss, benötige aber Hilfe
ActiveWorkbook.SaveAs Filename:= _
"V:\129001-130000\129601-129700\129601\129601-1\Kopie von Checkliste RT-Angebot2.xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Für "129601-1" soll Wert aus Zelle "K10" eingetragen werden.
Für "129601" sollen die ersten 6 Ziffern aus "K10" eingetragen werden.
Für "129601-129700" , bei 129601 die ersten 4 Ziffern aus "K10+01" ,bei 129700 der Wert von vorhin+99
Für "129001-130000" , bei 129001 die ersten 3 Ziffern aus "K10+001", bei 130000 der Wert von vorhin +999
Bitte um Hilfe, weis leider nicht wie das richtig funktioniert.
Danke Andreas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro zum Speichern in Ordnerstruktur
18.02.2010 12:08:53
Björn
Hallo,
ActiveWorkbook.SaveAs Filename:= _
"V:\" & Left(Range("k10").Value, 3) & "001-" & Left(Range("k10").Value, 3) + 1 & "000" & "\" &  _
Left(Range("k10").Value, 4) & "01-" & Left(Range("k10").Value, 4) + 1 & "00\" & Left(Range("k10").Value, 6) & "\" & Range("K10").Value & "\Kopie von Checkliste RT-Angebot2.xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Gruß
Björn B.
AW: Makro zum Speichern in Ordnerstruktur
18.02.2010 13:13:12
andreas
Hallo Björn,
vielen Dank für die schnelle Antwort, klappt einwandfrei.
Jetzt noch eine Frage, beim zweiten Abspeichern in den gleichen Ordner kommt natürlich die Abfrage überschreiben oder nicht, bei nein kommt ein Fehler, wie kann ich die Routine bei nein einfach beenden ohne Fehler.
Private Sub CommandButton1_Click()   'Speichern mit Namen
ActiveWorkbook.SaveAs Filename:= _
"V:\" & Left(Range("k10").Value, 3) & "001-" & Left(Range("k10").Value, 3) + 1 & "000" & "\" _
& _
Left(Range("k10").Value, 4) & "01-" & Left(Range("k10").Value, 4) + 1 & "00\" & Left(Range(" _
k10").Value, 6) & "\" & Range("K10").Value & "\Checkliste RT-Angebot_" & Range("k12").Value & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Vielen Dank im Voraus
Andreas
Anzeige
Was soll dann passieren?
18.02.2010 13:30:49
Björn
Hallo,
wenn Du dann auf nein drückst, soll dann die Datei gar nicht gespeichert werden?
Oder wie hast du Dir das vorgestellt?
Gruß
Björn B.
AW: Was soll dann passieren?
18.02.2010 13:42:07
andreas
Hallo Björn,
der Gedanke war so dass bei nein der Dialog beendet wird und das Formular in diesem Moment nicht gespeichert wird, Formular bleibt aber weiterhin geöffnet.
Habe gerade noch etwas festgestellt, wenn die Ordnernummer eine gerade Hunderterzahl ist wie z.B. 129600 dann habe ich einen Fehler bei meiner Logik
der Pfad sollte sein : V:\129001-130000\129501-129600\129600\129600-1
der Pfad ist jedoch : V:\129001-130000\129601-129700\129600\129600-1
hast du dazu vielleicht noch den richtigen Gedanken?
Gruß Andreas
Anzeige
Teillösung...
18.02.2010 13:48:38
Björn
Hallo,
also erstes Problem mit der Fehlermeldung bekommst du so weg:
Vor dem Speicherbefehl ein:
On Error Resume Next
und danach ein:
On Error Goto 0
Das Logikproblem muss ich mir nochmal anschauen.
Gruß
Björn B.
und der Rest der Lösung...
18.02.2010 14:22:32
Björn
Hallo,
ist zwar etwas umständlich, funktioniert aber...
zur Erklärung, der Code für die vollen Hundert muss angepasst werden, aber eben nur genau für die vollen Hundert, für alle anderen hat es ja gepasst.
Daher habe ich diesen Teil in einer Variable namens "Teil" ausgelagert und setze dort den richtigen Pfad zusammen. Sieht dann so aus:

Dim teil as String
If Left(Range("k10").Value, 4) * 100 - Left(Range("k10").Value, 6) = 0 Then
teil = ((Left(Range("k10").Value, 4) - 1) * 100) + 1 & "-" & (Left(Range("k10").Value, 4) - 1) _
* 100 + 100
Else
teil = (Left(Range("k10").Value, 4) * 100) + 1 & "-" & Left(Range("k10").Value, 4) * 100 +  _
100
End If
ActiveWorkbook.SaveAs Filename:= _
"V:\" & Left(Range("k10").Value, 3) & "001-" & Left(Range("k10").Value, 3) + 1 & "000" & "\" &  _
_
teil & "\" & Left(Range("k10").Value, 6) & "\" & Range("K10").Value & "\Kopie von Checkliste  _
RT-Angebot2.xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Gruß
BJörn B.
Anzeige
AW: und der Rest der Lösung...
18.02.2010 14:37:51
andreas
Hallo,
vielen Dank für die Hilfe und noch einen schönen Tag.
Gruß Andreas
warum noch offen?
18.02.2010 14:49:30
Björn
Hallo,
warum hast du die Frage noch als offen markiert?
Hast du noch ein Problem?
Gruß
Björn B.
AW: warum noch offen?
18.02.2010 15:03:57
andreas
Hallo,
tut mir leid, versehentlich angeklickt.
Gruß Andreas

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige