Clever-Excel-Forum

Normale Version: Speicherort der Datei auf Tabellenblatt auswählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
habe das Thema jetzt getrennt von der anderen Anfrage.

Mein Problemchen ist folgendes.

wie kann Ich auf einem Tabellenblatt eine Abfrage nach dem Speicherort der Tabelle einfügen und dann mit einem Markro genau in diesen Speicherort die Tabelle abspeichern.

Habe die Datei angehängt.

Ich hoffe es isr verständlich was Ich vorhabe.
Hallöchen,

da ist die Frage, ob Du nun einen konstanten Pfad haben willst oder einen zum Auswählen.
Außerdem darf in B2 nur der Dateiname ohne Erweiterung stehen und nicht der ganze Pfad ...
(24.03.2015, 20:01)schauan schrieb: [ -> ]Hallöchen,

da ist die Frage, ob Du nun einen konstanten Pfad haben willst oder einen zum Auswählen.
Außerdem darf in B2 nur der Dateiname ohne Erweiterung stehen und nicht der ganze Pfad ...

Derjenige der die Tabelle danach nutzt sollte den Pfad einmal auswählen können, dieser sollte dann dauerhaft in der Zelle B2 stehen und zum speichern sollte das VBA speichern mit eingepflegt werden.
das ist bestimmt nicht einfach.....
Hallo wavemaster,

mit diesem code wählst Du einen Pfad aus und trägst ihn in B2 ein.

Code:
Sub SpeicherPfad()
'Variablendeklarationen
'Variant
Dim varFolder
'Makro verlassen, wenn in B2 etwas steht
If Range("B2").Value <> "" Then Exit Sub
'Ordnerwahl aufrufen und Ergebnis der Variable varFolder zuweisen
Set varFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Verzeichnis wählen", 16, 17)
'wenn etwas gewaehlt wurde, dann
If Not TypeName(varFolder) = "Nothing" Then
  'Pfad auslesen und in B2 eintragen
  Range("B2").Value = varFolder.Self.Path
'Ende wenn etwas gewaehlt wurde, dann
End If
End Sub

Du musst jetzt allerdings noch Dein Speichern-Makro überarbeiten.
Die beiden Zeilen mt Const sind ja nun sinnlos.
Den Pfad einschließlich Laufwerk holst Du aus B2.
Wo der Dateiname dann herkommt, weiß ich nicht. In B2, wo er nach Deinem code sein müsste, steht ja nun der Pfad.
Hallo zusammen,

habe das Makro von Schauan eingefügt klappt Prima, doch Ich bekomme es nicht hin das er die Datei in dieses Verzeichnis speichert.

Habe versucht das Modul 2 so anzupassen das er in dem angegeben Ordner (ZelleB2) abspeichert er speichert jedoch auf dem Desktop ab.

Irgendwo verhasple Ich mich.....

das hochzählen funktioniert, also haperts nur noch am Speicherort.
Hallöchen,

den Pfad musst Du auch zum Speichern angeben
... Filename:=pfad & "\" & getName( ...

(oder zuvor dorthin wechseln)
(27.03.2015, 18:31)schauan schrieb: [ -> ]Hallöchen,

den Pfad musst Du auch zum Speichern angeben
... Filename:=pfad & "\" & getName( ...

(oder zuvor dorthin wechseln)

Sorry habe mich verschrieben meine NATÜRLICH Modul 1 bzw 3 bei beiden klappt es nicht wirklich.
Was mir noch aufgefallen ist . Es speichert ab unter dem Namen in B7 und schließt die Vorlage. Besteht da eine Möglichkeit dass es speichert und das Orginal geöffnet bleibt.
Hallöchen,

man könnte jetzt philosophieren, ob die Vorlage geschlossen wird ... Smile Die Vorlage wird unter einem anderen Namen gespeichert. Wenn Du es anders haben willst, könntest Du statt SaveAs auch SaveCopyAs nehmen.
(27.03.2015, 19:23)schauan schrieb: [ -> ]Hallöchen,

man könnte jetzt philosophieren, ob die Vorlage geschlossen wird ... Smile Die Vorlage wird unter einem anderen Namen gespeichert. Wenn Du es anders haben willst, könntest Du statt SaveAs auch SaveCopyAs nehmen.

Meine erste Frage wäre mir im Moment wichtiger was mache Ich falsch mit Modul 1 bzw 3 das er den Speicherort nicht verwendet in B2 sondern in eigene Dokumente speichert....
mit VBA habe Ich noch einen langen Leidensweg vor mir....
Hallöchen,

also, ich finde nur die Module 2 und 3. Eventuell hast Du eine andere Datei als die hochgeladene? Das Modul 2 enthält nur die Auswahl des Ordners.

Die codeänderung in Modul2 habe ich Dir vorhin beschrieben:

Zitat:den Pfad musst Du auch zum Speichern angeben
... Filename:=pfad & "\" & getName( ...
Seiten: 1 2