Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
180to184
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
180to184
180to184
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern unter Variablem Pfad

Speichern unter Variablem Pfad
13.11.2002 19:31:55
Ivan
Hallo und einen schönen Abend an alle Excel'User

Ich erstelle täglich einige Datenblätter über 5 verschiedene Produktsorten. Mittlerweile möchte ich diese Datenblätter immer vom Aktivem Tabellenblatt aus Speichern über ein Schaltbutton. Den Dateinamen nehme ich mir von zelle a1, beim Abspeichern möchte ich nicht das die Formeln mitkopiert werden(nur Absolute Werte).

Bishierher funktioniert alles sehr gut ! (Alles brockenweise von Herbers Archiv gesammelt echt super das was er zur verfügung stellt)


Mein Prob:
Ich arbeite bei erstellen von Datenblätter nach Auftragsnummern
und Artbezeichnungen Beispiel ED0601100100 (ED=Art 0601100100=NR)
Es gibt verschiedene Artbezeichnungen wie ED , AK , DA ...

Ich möchte nicht beim Abspeichern gefragt werden in welchen Pfad ich speichern will es sollte Automatisch Passieren. Also mein gedanke das Prog erkennt die ersten 2 zeichen zB. ED dann soll
in \Eigene Bilder\Neuer Ordner\ED speichern(Bei AK ändert sich der ordner in ...\AK usw.).


Ich verstehe nicht warum er immer fehler1004 erzeugt wenn ich den Pfad wie folgt eingebe: C:\Eigene Dateien\Eigene Bilder\Neuer Ordner

Ich hoffe das es nicht zu lang und verwirrend ausgeführt ist wenn ja Sorry. Bitte tut etwas ausführlich Antworten ich kenn mich nicht sehr gut in VBA aus

Ich Danke jetzt schon an Alle

Mein Code

Sub speichern()
Dim sFile As String, spath As String, wks As Worksheet
spath = Application.DefaultFilePath & "\Eigene Bilder\Neuer Ordner\"
sFile = Range("a1")
For Each wks In Worksheets
With wks.UsedRange
.Value = .Value
End With
Next wks

ActiveSheet.SaveAs spath & sFile & ".xls"

End Sub
Mfg Ivan



5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Speichern unter Variablem Pfad
13.11.2002 19:47:10
RALF
'n abnd,

Du solltest den Speicherpfad erst in einem String zusammenbauen und EINER Variablen zuweisen (s.u.)
versuch folgendes:

Sub speichern()
Dim sFile As String, spath As String, wks As Worksheet
spath = Application.DefaultFilePath & "\Eigene Bilder\Neuer Ordner\"
sFile = Range("a1")
For Each wks In Worksheets
With wks.UsedRange
.Value = .Value
End With
Next wks

' wenn der Dateiname sich z.Bsp. aus dem ersten Blatt ableiten läßt....
select case left(sheets(1).name,2)
case is = "ED"
folder1="ED\"
case is = "AP"
folder1 = "AP\"
'usw.
case else
folder1=""
end select

spath1 = spath & folder1 &sFile & ".xls"
ActiveSheet.SaveAs spath1

end sub


ich hoffe ich habe mich nicht vertippt....:O)
Gruß RALF

Anzeige
Re: Speichern unter Variablem Pfad
13.11.2002 20:31:58
Ivan
Hi Ralf

Schade

Ich habe dein Code eingefügt in mein Modul und Ausprobiert.
Er tut immer noch in den selben ordner wie vorher die Daten Speichern (C:\Eigene Dateien\Eigene Bilder\Neuer Ordner).
Statt zB. C:\Eigene Dateien\Eigene Bilder\Neuer Ordner\AP\"Texteintrag A1".

folder1 war nicht mit Dim bezeichnet nach einigen versuchen habe ich es als String bezeichnet hat wieder nicht geklappt.

Für was steht den die Zeile unten Tabellenblatt1 und ?
select case left(sheets(1).name,2)


ich habe sie auf select case left(sheets(1).name,1) geändert und es ist nichts negatives aufgetaucht.


Aber Trotztdem vielen Dank für deine Mühe!!!

Anzeige
Re: Speichern unter Variablem Pfad
13.11.2002 23:00:18
Mesut
Hi Ivan,
ich habe ein aehnliches Problem mit folgendem Code gelöst.

ChDir "E:\PRIVAT\AKTUELL\Rechnungen" 'zunaechst den Unterordner aktivieren
Dat_Name = CStr(Range("H14")) & " - " & Range("H19") & " - " & Range("A10")
ActiveWorkbook.SaveAs Filename:=Dat_Name
MsgBox ("Die Rechnung wurde erfolgreich kopiert und unter dem Namen " & Dat_Name & " gespeichert !"), vbInformation

hierbei wird der Name der Datei aus drei Zellen ausgelesen und zum Dateinamen zusammengefügt. Dabei wird ein numerischer Wert (hier "H14") vorher in Textwert umgewandelt. Hoffe dir geholfen zu haben.
mfg
Mesut


Anzeige
Re: Gelößt
13.11.2002 23:16:53
Ivan
Hallo alle nochmal

ich hab die Aufgabe gelößt es muß zwar etwas Laufsicherer gemacht werden mit OnError aber die gewünschte funktion ist da.

Etwas Interresiert mich Allerdings sehr!! Der Code verlangt von
mir Großschreibung wie im Code ansonsten erkennt er die Buchstaben nicht an.
Muß man da jetzt Aufwendig mit if die anderen Variationen Abtippen oder????

Jetzt taugs ja für mich ! Ralf sein Vorschlag mit Case hat mich echt weiter gebracht ich habs halt in if umgebaut

Lösung:

in Zeile A9 = Links(A1;2)


Sub speichern()
Dim sFile As String, spath As String, wks As Worksheet
spath = Application.DefaultFilePath & "\Eigene Bilder\Neuer Ordner\"
sFile = Range("a1")
For Each wks In Worksheets
With wks.UsedRange
.Value = .Value
End With
Next wks

' wenn der Dateiname sich z.Bsp. aus dem ersten Blatt ableiten läßt....

If Range("a9") = "ED" Then
folder1 = "ED\"
Else
If Range("a9") = "AK" Then
folder1 = "AK\"
Else
If Range("a9") = "DA" Then
folder1 = "DA\"
Else
If Range("a9") = "DE" Then
folder1 = "DE\"
'usw.
Else
If folder1 = "" Then
MsgBox ("Möglich ist nur ED, AK, DA, DE Rechnungkürzel und Sie müssen Sie Groß Schreiben")
Call ein
Exit Sub
End If
End If
End If
End If
End If
spath1 = spath & folder1 & sFile & ".xls"
ActiveSheet.SaveAs spath1
Call ein
End Sub

'für erneute Speichermöglichkeit weil die Formeln in Absolutwerte umgewandelt werden
Sub ein()
ActiveCell.FormulaR1C1 = "Links(a1;2)"
Range("A9").Select
ActiveCell.FormulaR1C1 = "=LEFT(R[-8]C,2)"

End Sub

Danke nochmal an Ralf

MfG Ivan


Anzeige
Re: Danke Mesut
14.11.2002 00:02:26
Ivan
Ich Probiere es mal morgen aus
Ich meld mich bestimmt nochmal

Guten Abend noch mal an Alle

Ivan

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige