Hallo alle zusammen,
ich bin absoluter Neuling im Bereich der VBA-Programmierung, weshalb ich hoffe, dass ihr mir mit meinem Problem relativ schnell weiterhelfen könnt.
Ich habe ein geöffnetes Workbook (Test) und möchte, wenn ich in die Zelle A1 "123" eingeben, dass eine bereits existierende Excel-Datei mit einem bestimmten Namen (in diesem Fall 123.xlsm) geöffnet wird, der Wert der Zelle A1 dieser Datei kopiert und in A1 des Workbook Test kopiert, und sich 123.xlsm wieder schließt. Das habe ich auch mit meinem Code hinbekommen.
Jetzt möchte ich dass wenn in der Zelle A1 aber der falsche Dateiname steht (also nicht "123") mir eine Messagebox sagt "Dateneingabe A1 falsch". Das habe ich auch noch hinbekommen.
Der Knackpunkt ist der, dass der Code immer wieder ausgeführt werden muss, und dann würde ja jedes mal die Fehlermeldung auftreten. Ich dachte mir, dass es doch irgenwie möglich sein müsste, den Code um ein ElseIf zu erweitern bei dem er den Wert der Zelle A1 aus der Test-Datei mit dem Wert der Zelle A1 aus 123 und sollten diese gleich sein soll einfach gar nichts passieren.
Mein Code sieht aktuell so aus: (für den fehlenden Teil habe ich Fragezeichen eingesetzt)
Sub Test()
'Rechnung 123
If Cells(1, 1) = 123 Then
ChDir ("C:\Users\Sarah\Desktop\Test")
Workbooks.Open Filename:="C:\Users\Sarah\Desktop\Test\123.xlsm"
Cells(1, 1).Copy Destination:=Workbooks("Test").Sheets("Tabelle1").Cells(1, 1)
Workbooks("123.xlsm").Close savechanges:=False
ElseIf Cells(1,1) = ???????
????
Else: MsgBox "Dateneingabe A1 falsch"
End If
End Sub
Könnt ihr mir helfen?
|