Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Erstellen eines Bestellformulares
#1
Guten Morgen allerseits,

wir würden gerne in Excel 2010 ein Formular erstellen das die Auswahl des Lieferanten und deren Stammdaten per Auswahl selber ausfüllt. Aktuell führen wir für jeden einzelnen Lieferanten separate Word Dateien wo die spezifischen Kostenstellen, Adressen sowie spezielle Informationen aufgelistet sind. Diese müssen jedes Jahr neu angepasst werden da sich die Kostenstellen ändern, was ein enormer Aufwand ist und der Übersichtlichkeit nicht wirklich dient.

Im Anhang habe ich als Veranschaulichung ein Template einer solchen Bestellung mit angehängt. Ziel wäre es, über ein Dropdownmenü mit Auswahl des Lieferanten automatisch die Adresse, Tel. & Fax, sowie Kostenstelle automatisch auszufüllen (Infos separates Datasheet im gleichen File)

Da sich mein Wissen in Grenzen hält, und ich bis anhin nicht fündig über solche Funktionen wurde, erhoffe ich mir hier weitere Hilfe.

Danke&Gruss


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hola,

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

Gruß,
steve1da
Antworten Top
#3
Hi,
(19.07.2017, 07:04)daedalus87 schrieb: Ziel wäre es, über ein Dropdownmenü mit Auswahl des Lieferanten automatisch die Adresse, Tel. & Fax, sowie Kostenstelle automatisch auszufüllen (Infos separates Datasheet im gleichen File)
das kannst Du mit der Funktion SVERWEIS() lösen. Der 4. = optionale Parameter des SVERWEIS sollte auf jeden Fall benutzt werden!
Antworten Top
#4
(19.07.2017, 12:31)Rabe schrieb: Hi,
das kannst Du mit der Funktion SVERWEIS() lösen. Der 4. = optionale Parameter des SVERWEIS sollte auf jeden Fall benutzt werden!

Hi Rabe,

danke für den Hinweis, der hat sich schelmisch gegen mich gestellt Smile
Konnte nun das komplette Tabellenblatt mit meinen Informationen ausrüsten und es funktioniert mit mehreren Abfragen perfekt.
Das ganze Formular wird mitunter einiger wenigen Zellen für alle User gesperrt, und fälschliche Änderungen zu vermeiden. Dabei wurde auch die Dateispeicherung über einen Button übernommen, welcher den Namen aus Informationen über die gewählten Felder zusammensetzt und als PDF speichert.
Es ist mir bereits gelungen, die Datei als PDF zu speichern ohne fixes Verzeichnis, und als xls mit fixem Verzeichnis. Die Symbiose der beiden (PDF mit fixem Verzeichnis) bekomme ich aber irgendwie nicht hin..
Mein aktueller PDFSaveCode sieht wie folgt aus:

Code:
Sub AlsPDFSpeichern()
Dim pdfDateiName As String
Dim pdfname As Variant

   pdfDateiName = ActiveSheet.Range("H7") & "_" & Range("H27") & "_" & Range("H11") & "_" & Format(Date, "dd.mm") & ".pdf" 'Zusammensetzung des Dateinamen
   pdfname = Application.GetSaveAsFilename(InitialFileName:=pdfDateiName, FileFilter:="PDF files, *.pdf", Title:="PDF speichern") 'Endung
   If pdfname <> False Then
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfDateiName, _
       Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
   Else
       Exit Sub
   End If
   If Application.Dialogs(xlDialogPrinterSetup).Show <> True Then
     ActiveSheet.PrintOut ActivePrinter:="LOCAL"
   End If
End Sub

Wie aber bringe ich das Verzeichnis mit ins Spiel, welches hier funktioniert:
Code:
Sub Speichern_unter()

Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant

Verzeichnis = "J:\Cement Production\UV\Public\VAY\Testordner\" 'Verzeichnis-Vorschlag
Datei = Range("G7") & "_" & Range("G27") & "_" & Range("G11") & "_" & Format(Date, "dd.mm") & ".xls" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy <> False Then ActiveWorkbook.SaveAs SaveDummy 'Es wurde im Dialog auf Speichern gedrückt

End Sub

Function SpeichernUnter(VorgabeName As String) As Variant

SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel Dateien (*.xls),*.xlsm*", _
FilterIndex:=1, Title:="Speichern unter...", ButtonText:="speichern")

End Function


Danke&Gruss
Antworten Top
#5
Hi,

ich speichere ein Excel-Sheet der aktuellen Datei als xlsx und als pdf mit folgendem Makro ab.

Du kannst ja einfach für das PDF dann eine andere Variable strPfadDateiExport und die komplette Datei nehmen, dann das ".Close" weglassen.
Sub Daten_Export()
   ' 
   'Definition der Variablen und Konstanten im mdl_Variablen 
   ' 
   ActiveSheet.Unprotect 'Passwort 
   
   With Application
      '.DisplayAlerts = True 
      .ScreenUpdating = False
      .EnableEvents = False
   End With
   
   strPfadDatei = ThisWorkbook.Path & "\" & ThisWorkbook.Name      'sichern Original-Pfad und Name 
   
   'Kopiert aktuelles Sheet in eine neue Mappe, welche nur diese Tabelle enthält 
   ActiveSheet.Copy
   
   With ActiveWorkbook
      'aktuelle Daten als extra Datei abspeichern! 
      'Definition des Datei-/Blattnamens, Pfad anpassen! 
      strPfadDateiExport = ThisWorkbook.Path & "\Mitarbeiter\" & ActiveSheet.Range("B4") & " - " & Format(Date, "yyyy-mm-dd")
      
      Application.DisplayAlerts = False
      
      AWS = strPfadDateiExport & ".xlsx" '.FullName 
      'AWS = strPfadDateiExport & " - Daten.xlsx" '.FullName 
      .SaveAs AWS, 51
      AWS = strPfadDateiExport & ".pdf"
      .ExportAsFixedFormat 0, AWS
      .Close
   End With
   
   ActiveSheet.Select
   ActiveWindow.SelectedSheets.Delete
   Sheets(strErgebnis).Select
   
   ThisWorkbook.SaveAs strPfadDatei, 50            'Datei wieder unter Original-Name abspeichern 
   
   'Arbeitsblatt wird geschützt 
   '   ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
       '       , AllowFormattingCells:=True, AllowInsertingHyperlinks:=True ' , Passwort 
   
   With Application
      .DisplayAlerts = True
      .ScreenUpdating = True
      .EnableEvents = True
   End With
   
End Sub
Antworten Top
#6
Moin und nur am Rande, Ralf!
Warum die umständliche Textverkettung für strPfadDatei?
Code:
strPfadDatei = ThisWorkbook.FullName

Außerdem gibt es sowohl die Sheet.SaveAs- als auch die Sheet.ExportAsFixedFormat-Methode.
Daher muss nicht der Umweg über ein temporäres Sheet gegangen werden.
Last not least braucht die jeweilige Dateiendung bei beiden Methoden nicht übergeben werden.

Hier mal als Beispiel:
Zwei verschiedene Blätter werden unter dem selben Namen, aber unterschiedlichen Dateitypen gespeichert:
Sub SheetSaveAs()
Application.DisplayAlerts = False
With ThisWorkbook
  .Worksheets(1).SaveAs Left(.FullName, Len(.FullName) - 5), xlOpenXMLWorkbook
  .Worksheets(2).ExportAsFixedFormat xlTypePDF, Left(.FullName, Len(.FullName) - 5)
End With
End Sub

Gruß Ralf
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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Rabe
Antworten Top
#7
Hi Ralf,

(27.07.2017, 09:14)RPP63 schrieb: Warum die umständliche Textverkettung für strPfadDatei?
Code:
strPfadDatei = ThisWorkbook.FullName

Außerdem gibt es sowohl die Sheet.SaveAs- als auch die Sheet.ExportAsFixedFormat-Methode.
Daher muss nicht der Umweg über ein temporäres Sheet gegangen werden.
Last not least braucht die jeweilige Dateiendung bei beiden Methoden nicht übergeben werden.

Danke für die Tipps mit Sheet..., werde ich morgen mal austesten.

Ich war ja schon froh, daß ich das so hinbekommen habe.

zum Oberen:
weil ich ja die Dateinamen ergänzen will um zusätzlichen Text und dann auch noch in einem Unterverzeichnis abspeichern.
Antworten Top


Gehe zu:


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