Hallo zusammen,
ich versuche mich in einem vba Makro welches mit 2 Excel Dateien arbeiten muss.
Die erste Datei ist ein Kommunikationsformular ("Anhang Kommunikationsformular.xlsx") und die zweite ein SP-Pass ("SP-Pass.xls").
Aus dem Kommunikationsformular müssen mehrere Spalten und deren Werte unter bestimmten Bedingungen in den SP-Pass kopiert werden und bei Änderung des Auswahlkriteriums die Datei gespeichert und geschlossen werden und ein neuer SP-Pass geöffnet werden in denen Spalte und Werte des neuen Auswahlkriteriums kopiert werden.
Zum Auswahlkriterium im Kommunikationsformular: Spalten I, J, K und N definieren welche Zellen aus den anderen Spalten kopiert werden müssen.
Beispiel:
-- Zeile --- C ----- ... ----- I ----- J ----- K ---------- N
---- 1 ---- 123 ---- ... ---- 70 --- 30 --- 10 ----- 1584040
---- 2 ---- 456 ---- ... ---- 70 --- 30 --- 10 ----- 1584040
---- 3 ---- 789 ---- ... ---- 70 --- 30 --- 10 ----- 1584040
Die Werte Spalten I, J, K und N sind gleich, solange wie das ist sollen die Werte vom Kommunikationsformular in den SP-Pass kopiert werden.
Aus Spalte vom Kommunikationsformular nach Spalte im SP-Pass (X -> Y) C -> J; G -> S; I -> N; J -> O; K -> P; M -> E; O -> Q
-- Zeile --- C ----- ... ----- I ----- J ----- K ---------- N
---- 1 ---- 789 ---- ... ---- 70 --- 30 --- 10 ----- 1584040
---- 2 ---- 123 ---- ... ---- 70 --- 30 --- 10 ----- 1585050
---- 3 ---- 456 ---- ... ---- 70 --- 30 --- 10 ----- 1585050
Hier ist in Spalte N ab Zeile 2 ein anderer Wert, es soll also der SP-Pass gespeichert werden mit einer Zählnummer oder dem Wert aus Spalte N Zeile 1. Und ein neuer geöffnet werden der die weiteren Zeilen kopiert bis sich das Kriterium ändert.
Ein anderer Fall der auftreten kann ist dieser:
-- Zeile --- C ----- ... ----- I ----- J ----- K ---------- N
---- 1 ---- 123 ---- ... ---- 70 --- 30 --- 10 ----- 1584040
---- 2 ---- 456 ---- ... ---- 80 --- 30 --- 10 ----- 1584040
---- 3 ---- 789 ---- ... ---- 80 --- 30 --- 10 ----- 1584040
Die Werte in Spalte N sind gleich aber in I sind ab Zeile 2 andere Werte, es soll also der SP-Pass gespeichert werden mit einer Zählnummer oder dem Wert aus Spalte N Zeile 1. Und ein neuer geöffnet werden der die weiteren Zeilen kopiert bis sich das Kriterium ändert.
Zusätzlich muss der Wert aus Spalte N einmal in die Zelle B11 kopiert werden.
Ich habe bei dem Makro mit einer Dateiauswahl mit Dialog begonnen. Weiß aber nicht wie ich bei dem Auswahlkriterium weiter machen muss.
Sub Import_mit_Dialog()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xlsx")
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
'MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(1)
Ich hoffe ihr könnt mir da weiterhelfen :)
Viele Grüße
Julius
|