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

Forumthread: Speichern unter - Pfad vorgeben

Speichern unter - Pfad vorgeben
10.06.2005 06:50:09
wolfgang
Hallo*
aus einer bestehenden Arbeitsmappe ist häufiger eine neu generierte Arbeitsmappe in einen vorgegebenen Ordner bzw. eine vorgegebene Ablage zu speichern.
Kann ich, wenn ich dieses unter Datei..., Speichern Unter machen möchte, den Speicherpfad schon per VBA irgendwie vorgeben?
Ich wäre weiterhin für eine Hilfestellung sehr dankbar.
Gruß - Wolfgang
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter - Pfad vorgeben
10.06.2005 07:15:55
Sylvio
Hallo,
da du ja office XP verwendest ich mach das immer so
über nen button oder so folgenden Code:
Sub savedata()
Dim sport As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
'On Error GoTo fehlerweg
Set fd = Application.FileDialog(msoFileDialogSaveAs)
With fd
.AllowMultiSelect = False 'Mehrfachauswahl
.InitialFileName = ? -- Hier dein vordefinierten Pfad + Dateiname möglich.
das ist dann der Pfad der als erstes angegeben
wird + möglichen dateinamen
.Title = "Auswertungs-Datei in *.xls speichern."
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
sport = vrtSelectedItem
Next vrtSelectedItem
Else
Exit Sub
End If
End With
Set fd = nothing
Gruß Sylvio
Anzeige
AW: Speichern unter - Pfad vorgeben
10.06.2005 07:22:27
geri
Hallo Wolfgang
andere Variante, für SHEET "ARBEIT"

Sub Speicherung()
Dim SpeicherName As String
Dim Speicherpfad As String
Speicherpfad = Sheets("Arbeit").Range("K4").Value 'in Zelle K4 steht Pfad Zb. C:\Test\
'aus Zelle D3+G3 wird Name erzeugt
SpeicherName = Speicherpfad & "Test" & "_" & Range("D3") & "_" & Range("G3")
ActiveWorkbook.SaveAs Filename:=SpeicherName
End Sub

gruss geri
Anzeige
AW: Speichern unter - Pfad vorgeben
10.06.2005 07:41:14
Wolfgang
Hallo Sylvio,
Hallo Geri,
Danke zunächst für Eure schnelle Rückantwort und die Hinweise. Das Problem ist, dass die Tabelle bzw. Arbeitsmappe neu generiert wird und ich somit keine Schaltfläche o.ä. da einbauen kann. Der simple Weg wäre wirklich, dass wenn "Speichern unter" angeklickt wird, der Pfad bzw. ein Teil des Pfades schon vorgegeben wird, aber zuguterletzt noch innerhalb dieses Ordners ein eventueller Unterordner oder so dann noch selbst manuell ausgewählt werden kann (hatte ich auch vergessen, zu erwähnen), also nicht dann automatisch eine Speicherung erfolgt. Gibt es da eine Möglichkeit?
Weiterhin schon jetzt herzlichen Dank für Eure Mitwirkung.
Gruß Wolfgang
Anzeige
AW: ist geklärt - Code von Sylvio paßte
11.06.2005 16:53:08
Sylvio
Hallo Sylvio,
nachdem ich mich jetzt erst näher mit Deinem Code befassen konnte, habe ich festgestellt, dass er mit kleinen Änderungen innerhalb meiner Arbeitsmappe sehr wohl und sehr gut zu gebrauchen ist. Mir ist bewußt geworden, dass ich den Aufruf des Speicherortes ja schon direkt mit Erscheinen der neu generierten Arbeitsmappe verbinden kann. Somit habe ich jetzt eine MsgBox eingebaut, damit dann in der Folge die Maske mit dem Speicherort erscheint. Danke somit nochmals recht herzlich für Deine Mithilfe. - Problem ist gut gelöst. Danke auch allen Forumsteilnehmer, die sich mit meinem Problem befaßt haben (kann nur weiterhin sagen, dass dieses Forum ungemein gut ist und ich als Laie bislang immer noch gute Hilfe geboten bekam!) In dem Sinne allen ein schönes Wochenende.
Gruß - Wolfgang Berger
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Speichern unter - Pfad vorgeben in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Speicherpfad in Excel VBA vorzugeben, kannst du folgenden Code verwenden. Dieser ermöglicht es, den Pfad und den Dateinamen zu definieren:

Sub savedata()
    Dim sport As String
    Dim fd As FileDialog
    Dim vrtSelectedItem As Variant
    Set fd = Application.FileDialog(msoFileDialogSaveAs)

    With fd
        .AllowMultiSelect = False 'Mehrfachauswahl deaktivieren
        .InitialFileName = "C:\DeinPfad\Dateiname.xlsx" 'Hier Pfad und Dateiname angeben
        .Title = "Datei speichern unter"

        If .Show = -1 Then
            For Each vrtSelectedItem In .SelectedItems
                sport = vrtSelectedItem
            Next vrtSelectedItem
        Else
            Exit Sub
        End If
    End With

    Set fd = Nothing
End Sub

Dieser Code öffnet ein Dialogfeld, in dem du den Speicherort und den Dateinamen anpassen kannst. Der Pfad wird bereits vorgegeben, sodass du nur noch den Dateinamen ändern musst.


Häufige Fehler und Lösungen

  • Fehler: Dialogfeld öffnet sich nicht

    • Lösung: Stelle sicher, dass du VBA in Excel aktiviert hast und der Code korrekt eingefügt ist. Überprüfe auch, ob du den richtigen Typ von FileDialog verwendest.
  • Fehler: Datei wird nicht gespeichert

    • Lösung: Überprüfe, ob der angegebene Pfad existiert. Wenn nicht, musst du den Pfad anpassen oder den Ordner erstellen.

Alternative Methoden

Eine andere Möglichkeit, den Pfad vorzugeben, besteht darin, den Speicherort in einer Zelle der Arbeitsmappe zu hinterlegen und den Code entsprechend anzupassen. Hier ein Beispiel:

Sub Speicherung()
    Dim SpeicherName As String
    Dim Speicherpfad As String
    Speicherpfad = Sheets("Arbeit").Range("K4").Value 'Pfad aus Zelle K4
    SpeicherName = Speicherpfad & "Test_" & Range("D3").Value & "_" & Range("G3").Value
    ActiveWorkbook.SaveAs Filename:=SpeicherName
End Sub

In diesem Fall wird der Pfad aus der Zelle K4 genommen. Dies ist besonders hilfreich, wenn du den Speicherort regelmäßig ändern möchtest.


Praktische Beispiele

Hier sind zwei praktische Beispiele, wie du den Code verwenden kannst:

  1. Einfacher Speicherdialog mit festem Pfad: Der oben erwähnte Code für savedata zeigt, wie du einen festen Pfad mit einem vorgegebenen Dateinamen verwendest.

  2. Dynamischer Pfad aus Zellen: Mit dem Code in Speicherung kannst du den Pfad dynamisch aus deiner Excel-Tabelle beziehen, was dir mehr Flexibilität beim Speichern gibt.


Tipps für Profis

  • Verwende MsgBox: Du kannst eine MsgBox einfügen, um dem Benutzer eine Rückmeldung zu geben, wenn die Datei erfolgreich gespeichert wurde.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler beim Speichern zu erfassen.

  • Benutzerfreundliche Dialoge: Achte darauf, dass deine Benutzeroberfläche klar verständlich ist, um eine einfache Nutzung für alle Anwender zu gewährleisten.


FAQ: Häufige Fragen

1. Kann ich den Pfad auch in einer anderen Sprache angeben?
Ja, du kannst den Pfad in einer beliebigen Sprache angeben, solange die Ordnerstruktur existiert.

2. Was passiert, wenn der Pfad nicht existiert?
Wenn der angegebene Pfad nicht existiert, wird die Datei nicht gespeichert. Es ist ratsam, den Pfad vor dem Speichern zu prüfen oder zu erstellen.

3. Wie kann ich den Code anpassen, um eine Excel-Datei im CSV-Format zu speichern?
Du kannst die FileFormat-Eigenschaft in der SaveAs-Methode anpassen, indem du FileFormat:=xlCSV hinzufügst.

Nutze diese Anleitungen, um den Speicherort in deinen Excel-VBA-Projekten effektiv zu verwalten.

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