Ich bekomme jeden Tag einige Datensätze in einer Excel Tabelle geliefert. In der Beispielsdatei wären das die Werte in Spalte A und B, die per Makro in eine andere Tabelle gespielt werden: Spalte A in Spalte M in Spalten O bis S (zeilenweise zu spaltenweise/transponieren?). Das ganze ist bereits durch eine Formellösung in 2 verschiedene Fälle unterteilt worden, die angibt, wie die Aufteilung zu erfolgen hat (Spalte H). Den ersten Fall (H=1) habe ich ohne Probleme lösen können und mein Code funktioniert bereits. Allerdings die zweite Variante (H=2) bereitet mir Kopfschmerzen. Nur zur Vollständigkeithalber habe ich meinen Code nachfolgend mal aufgelistet, ansonsten ist er noch nicht wirklich zielführend.
Sub Einspielen_DB2()
Dim i As Long
Dim iMax As Long
iMax = Sheets("Tabelle1").Range("A4").End(xlDown).Row
With Sheets("Tabelle1")
For i = 4 To iMax
If .Cells(i, 8).Value = 1 Then
Sheets("Tabelle1").Range(.Cells(i, 1)) = .Cells(i, 10)
' und ähnliche Rechenoperationen - nicht problematisch, Teil-Code funktioniert einwandfrei
End If
Fall 2: 'Hierfür bräuchte ich die Lösung:
1. Kopiere ID aus Spalte A in Spalte M
2. Suche alle dazugehörigen UnterIDs (aus allen Zeilen in der Datenbasis) heraus und spiele sie in die gleiche Zeile ein (natürlich unter Verwendung der jeweiligen Zellenadresse) - Mache dies bei jeder ID
If .Cells(i, 8).Value = 2 Then
End if
Next
MsgBox "Fertig, ich habe alle Werte eingespielt"
End With
End Sub
Vielen Dank und einen angenehmen Abend!!
Nadine