Angebot/Rechnung, selbstständig den richtigen Speicherpfad wählen
#1
Hi!

Ich habe das ein kleines/großes Problem. Bisher habe ich es immer so gemacht, dass ich einen festen Speicherpfad angegeben habe. Je nach Angebot, oder Rechnung habe ich dann nur in den entsprechenden Ordner geklickt. Nun hoffe ich, dass es auch noch einfacher geht.... In der Zelle A19 steht entweder Angebot oder Rechnung drin. Dachte es wäre möglich somit auch zu definieren, wo er bei klick hinspeichert?

Mein bisheriger Code sieht so aus:

Code:
Sub Speichern()
    
   Dim pfad As String
   Dim datei As String
  
   pfad = Environ("USERPROFILE") & "\Documents\Firma\" & Range("S9").Value & "\" & Sheets("Seite01").Cells(11, 3).Value & ".xlsm"
    
datei = Application.GetSaveAsFilename(InitialFileName:=pfad, filefilter:="Excel Arbeitsmappe mit aktivierten Makros (*.xlsm), *.xlsm")
   If datei = "Falsch" Then Exit Sub
  
ThisWorkbook.SaveAs Filename:=datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    
End Sub

Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.

Grüße
Top
#2
Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Danke.

Gruß,
steve1da
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • den21
Top
#3
(10.08.2017, 11:03)steve1da schrieb: Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Danke.

Gruß,
steve1da

Hier habe ich ebenfalls nach Hilfe gefragt: Link
Top
#4
Hola,

sowie hier:

http://www.vba-forum.de/forum/View.aspx?...%C3%A4hlen

Gruß,
steve1da
Top
#5
hi,

versuche es mal so:
Option Explicit

Sub Speichern()
   
   Dim pfad As String
   Dim pfad1 As String
   Dim pfad2 As String
   Dim datei As String
   
   pfad1 = Environ("USERPROFILE") & "\Documents\Firma\Angebot\" & Range("S9").Value & "\" & Sheets("Seite01").Cells(11, 3).Value & ".xlsm"
   pfad2 = Environ("USERPROFILE") & "\Documents\Firma\Rechnung\" & Range("S9").Value & "\" & Sheets("Seite01").Cells(11, 3).Value & ".xlsm"
   
   If Range("A19").Value = "Angebot" Then pfad = pfad1
   If Range("A19").Value = "Rechnung" Then pfad = pfad2
   
   datei = Application.GetSaveAsFilename(InitialFileName:=pfad, filefilter:="Excel Arbeitsmappe mit aktivierten Makros (*.xlsm), *.xlsm")
   If datei = "Falsch" Then Exit Sub
   
   ThisWorkbook.SaveAs Filename:=datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
   
End Sub

oder so:
Sub Speichern2()
   
   Dim pfad As String
   Dim datei As String
   
   pfad = Environ("USERPROFILE") & "\Documents\Firma\" & Range("S9").Value & "\" & Range("A19").Value & "\" & Sheets("Seite01").Cells(11, 3).Value & ".xlsm"
   
   datei = Application.GetSaveAsFilename(InitialFileName:=pfad, filefilter:="Excel Arbeitsmappe mit aktivierten Makros (*.xlsm), *.xlsm")
   If datei = "Falsch" Then Exit Sub
   
   ThisWorkbook.SaveAs Filename:=datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
   
End Sub
Top
#6
Vielen Dank, das funktioniert schon ganz gut, vielen Dank. Aber ich muss es nun übertreiben Angel

In A19 steht nicht nur Angebot oder Rechnung, sondern

="Angebot: "&I19

In I19 steht die Rechnungsnummer drin. Wenn ich jetzt "nur" schreibe

If Range("A19").Value = "Angebot" Then pfad = pfad1
If Range("A19").Value = "Rechnung" Then pfad = pfad2

funktioniert das ganze leider nicht. Hast du noch eine Idee?

Grüße und vielen Dank
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste