Hallo!
Ich arbeite erst seit kurzem mit VBA Excel (Microsoft Windows 10 Pro, Microsof Office Standard 2016) und habe ein Problem, das ich nicht alleine lösen kann.
Ich würde gerne mit einem Kommandobutton eine Prozedur auslösen, die mir mit einem Zellinhalt aus der Datei in der dieses Kommandofeld liegt eine neue Datei aus einer Vorlage mit Dateinamen aus Zellinhalt erstellt und in die neu erstellte Datei anschließend Inhalte aus einer anderen Datei einfügen, die ich über den Explorer auswähle.
Dabei habe ich zwei Probleme:
1. Es funktioniert zumindest mit dem untenstehenden Code einmal, dass die neue Datei aus der Vorlage erstellt wird und unter dem richtigen Namen abgespeichert wird. Ursprünglich wollte ich die "Basisdatei" auch automatisch über den Code aufrufen und öffnen, das funktioniert aber leider nicht bzw. weiß ich nicht wie ich das machen muss, deshalb kommt jetzt die Aufforderung zur Auswahl der Datei.
2. Ich würde gerne Daten von den "Basisdaten" in die Datei "Bestellung" kopieren, aber mit dem untersten Code funktioniert das leider nicht. Wie muss ich die Dateinamen vergeben bzw. diese aufrufen, dass ich mit den vorher bearbeiteten/erstellten Dateien weiter arbeiten kann?
Private Sub CommandButton_OK_Click()
'Dim Bestellung As New Excel.Application
'Dim Basisdaten As New Excel.Workbook
Dim Bestellung As Object
Dim Basisdaten As Object
Dim strFilter As String
Dim strFileName
Dim strDateiname As String
Dim strDateiname2 As String
Dim strPfad As String
'Neues Bestellungsformular erstellen
Set Bestellung = ActiveWorkbook
strDateiname = "C:\Users\cg\Desktop\Test.xlsx"
Set Bestellung = Workbooks.Open(strDateiname, False, True)
'Bestellung speichern
strDateiname2 = Range("B2").Value & " " & Range("D2").Value & ".xls"
Bestellung.SaveAs ("C:\Users\cg\Desktop\" & strDateiname2)
'Neue Basisdatei öffnen und bearbeiten
'** Dateifilter definieren
strFilter = "Excel-Dateien(*.xls*), *.xls*"
'** Laufwerk und Pfad definieren, welcher geöffnet werden soll
ChDrive "C"
ChDir "C:\Users\cg\Desktop\"
'** Den im Dialogfeld gewählten Namen auslesen
strFileName = Application.GetOpenFilename(strFilter)
'** Prüfen, ob eine gültige Datei ausgewählt wurde
If strFileName = False Then Exit Sub
'** Gewählte Datei öffnen
Set Basisdaten = Workbooks.Open(strFileName)
'** Hinweis ausgeben
MsgBox "Die Datei '" & Basisdaten.Name & "' wurde geöffnet.", vbInformation, "Hinweis"
'Dateien aus Basisdatei in Bestellung kopieren
Basisdaten.Worksheets("Fenster- und Terrassentüren").Columns("A").Value = Bestellung.Worksheets("fenster").Columns("A").Value
End Sub
Danke für eure Hilfe!!
LG
Christina
|