Hilfe bei Schaltfläche
#1
Hallo 

Wir haben auf Arbeit ein Formular bei welchem das Deckblatt mit verschiedenen Lieferantenangaben gefüttert werden muss.
Ebenso muss immer ein recht langer Dateiname beim abspeichern eigegeben werden, nun habe ich mir folgendes überlegt:

Könnte man die Lieferantenangaben in einem DropDown Menü hinterlegen plus eine Schaltfläche "Speichern" einfügt welche dann 
das Dokument am richtigen Ort und mit der richtigen Bezeichnung abspeichert?

Wie kann ich das bewerkstelligen ? 

Danke euch
Top
#2
Hallo,
ein erster Ansatz wäre


Angehängte Dateien
.xlsm   Lieferant.xlsm (Größe: 18,71 KB / Downloads: 15)
Gruß der AlteDresdner (Win11, Off2021)
Top
#3
Sorry!
Aber warum muss bei einem solchen Pipi-Thema erst eine Datei hochgeladen werden?
Wäre es nicht vielmehr sinnvoll, die zwei Zeilen des Codes zu posten?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hi zusammen 

Das mit den Lieferanten habe ich jetzt anders gelöst , mit einem Dropdown Menü.
Was ich aber gerne noch hätte wäre eine Schaltfläche "speichern" die ich bereits erstellt habe damit ich nicht jedes mal den ellenlangen Speichernamen eingeben muss.
Allerdings bekomme ich ein "Typen unverträglich"

Code:
Private Sub CommandButton1_Click()


Const Pfad As String = "C:\Users\Documents"

ort = Range("C4")
If Len(ort) = 0 Then
    MsgBox ("Ung?ltiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Else
    ActiveWorkbook.SaveAs Filename:="C:\Users\Documents\" & Format(DateSerial(Year(ort), Month(ort), 1), "MM YY") & ".xls"
End If

End Sub
Top
#5
Hi,

was steht denn in C4?

Zu deinem Code: wenn du den Pfad schon als Konstante definierst, dann verwende ihn doch auch (wenn du noch ein "\" ans Ende stellst): 

Code:
ActiveWorkbook.SaveAs Filename:=Pfad & Format(DateSerial(Year(ort), Month(ort), 1), "MM YY") & ".xls"
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Top
#6
(08.06.2020, 13:21)LuckyJoe schrieb: Hi,

was steht denn in C4?
Im C4 Steht die Artikelbezeichnung.
Die Datei wird bei uns immer wie folgt gespeichert:
Artikel.Nr_Index_02_Bezeichnung_Bestellnummer_Lieferant_Datum

Artikel Nr. in H4 /Index in M4 / Bezeichnung steht in C4 / Bestellnummer in C8 / Lieferant in C6 / Datum in M 6

Kann mir jemand den Code erstellen?
Das wäre Mega Smile
Danke euch 

Zu deinem Code: wenn du den Pfad schon als Konstante definierst, dann verwende ihn doch auch (wenn du noch ein "\" ans Ende stellst): 

Code:
ActiveWorkbook.SaveAs Filename:=Pfad & Format(DateSerial(Year(ort), Month(ort), 1), "MM YY") & ".xls"
Top
#7
Hi,

also du gibst in deinem Code an:


Code:
ort = Range("C4")


Wenn aber in C4 die Artikelbezeichnung steht, dann kann das mit deiner String-Zusammensetzung natürlich Probleme geben.
Die Textzusammensetzung bekommst du mit "&" hin, also z.B.:


Code:
Dateiname = Pfad & Range("H4") & "_" & Range("M4") & "_" & Range("C4") & "_" & Range("C8") & "_" & Range("C6") & "_" & Range("M6")

ggf. M6 noch anpassen wie in deiner bisherigen Formel.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Top
#8
Hallo zusammen 

anbei ein Muster- Dokument.
Könnt ihr mir den Code anpassen, so das wenn ich auf den CommandButton "speichern" drücke, dass Dokument wie folgt abgespeichert wird:
Zeichnungsnummer_Index+IndexNr_Bestellnummer_Lieferant_WEDatum


Danke euch!!

Grüsse


Angehängte Dateien
.xlsm   Forum_Test.xlsm (Größe: 22,54 KB / Downloads: 11)
Top
#9
Hi,

das ist jetzt wieder anders , als bei der bisherigen Fragestellung. 
Zunächst zu deiner Tabelle: du solltest auf verbundene Zellen möglichst verzichten, insbesondere, wenn du darin Daten hast, mit denen du weiterarbeiten möchtest.
Zu deinem Code: Du fragst zu Beginn ab, ob die Variable "ort" ab, die es aber nicht gibt, so dass deine Abfrage immer falsch liefert.

Stelle deinen Code mal wie folgt um:
Code:
Private Sub CommandButton1_Click()

    Const Pfad As String = "C:\temp\Test\"
   
    'If Len(ort) = 0 Then
    If False Then
        MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
    Else
        ' Zeichnungsnummer_Index+IndexNr_Bestellnummer_Lieferant_WEDatum
        ' Zeichnungsnummer_Index (H4)
        ' IndexNr                (M4)
        ' Bestellnummer          (C8)
        ' Lieferant              (C6)
        ' WEDatum                (M6)
        Debug.Print Pfad & Range("H4") & "_" & "Index" & "_" & Range("M4") & "_" & Range("C8") & "_" & Range("C6") & "_" & Range("M6")
        ActiveWorkbook.SaveAs dateiname = Pfad & Range("H4") & "_" & "Index" & "_" & Range("M4") & "_" & Range("C8") & "_" & Range("C6") & "_" & Range("M6")
    End If

End Sub
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Top
#10
Hi

Super danke dir !
Ich werde es heute Abend testen.
Aber wie kann ich es umgehen das ich Zellen verbinde ?
Tee
Top


Gehe zu:


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