Hallo Zusammen,
für mich das erste Mal in einem Forum zu schreiben, normal lese ich immer nur und ich tue mein Bestes mein Problem richtig zu erklären ;-)
Ich habe eine Datei, deren erstes Tabellenblatt aus mehreren Hundert Zeilen besteht. Jede Zeile gehört zu einem bestimmten Teilkonzern von uns (z.B. FIM, FIT usw.). In Spalte L wird festgelegt zu welchem Teilkonzern die jeweilige Zeile gehört. Es gibt hierbei keine Reihenfolge. Also Zeile 5 kann zur FIM gehören und dann erst wieder Zeile 20.
Anschließend gibt es verschiedene Tabellenblätter - jedes nach einem Teilkonzern benannt. Ich möchte jetzt, dass das Makro im Haupttabellenblatt jede Zeile durchgeht und in das entsprechende Teilkonzern - Tabellenblatt kopiert.
Hierzu habe ich bisher folgendes Makro (bitte nicht wundern über evtl. Chaos, ich bin noch VBA Anfänger):
Sub NachRechtsVerschiebenSE()
Dim a As Long, i As Long
a = 22
Application.ScreenUpdating = False
For i = 12 To 10000
If Sheets("ConsDebts SE").Cells(i, 12).Value = "FIM" Then
Sheets("ConsDebts SE").Select
Range(Cells(i, 1), Cells(i, 7)).Copy
Sheets("FIM").Select
Rows(a).Select
a = a + 1
ActiveSheet.Paste
End If
Next i
Application.ScreenUpdating = True
End Sub
Funktioniert einwandfrei und macht was ich will. Aber wir haben viele verschiedene Teilkonzerne und so wie das Makro jetzt ist, müsste ich das ganze für jeden Teilkonzern separat anlegen.
Gibt es eine Möglichkeit dem Makro allgemeiner zu sagen: Schau dir Zeile 12 Spalte L an und kopiere diese Zeile in das Tabellenblatt was genauso heißt wie das was in Zeile 12 Spalte L steht? Sodass einmal geschrieben, es für alle Teilkonzerne funktioniert und auch, wenn neue dazu kommen?
Ich hoffe ihr könnt mir helfen und versteht was ich meine...
Viele Grüße