Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: Textzellen der richtigen Zelle/Spalte zuordnen
#1
Hallo zusammen,

Anbei eine Excel, für die ich unbedingt ein VBA-Makro benötige.
In dem Sheet "Ausgang" ist die Ausgangssituation dargestellt: Spalte A, B, C können unberücksichtigt bleiben (sind fix). Ab Spalte D Zeile 3 soll die Arbeit beginnen. Für jede Zeile sollen die Text-Werte den richtigen Spalten zugeordnet werden (wobei ein Text-Wert immer in der gleichen Zeile bleibt). Also D3, E3, und F3 sind schon richtig zugeordnet. Zelle G3 muss jedoch nach H3. H3 muss nach I3. I3 muss nach M3. Dabei sollte man aber natürlich mit I3 anfangen zu verschieben (dann H3, G3, usw.), da sonst was überschrieben werden würde. Ist Zeile 1 richtig zugeordnet, geht es mit der nächsten Zeile (Zeile 4) weiter (H4 nach N4 usw.). Dies soll solange durchgeführt werden, bis in Spalte A keine Zelle mehr ausgeführt ist (also in anhänger Excel ist in Zeile 7 Schluss).
Das Ergebnis ist im Sheet "Ergebnis" dargestellt.

Vielen vielen Dank vorab!

Viele Grüße!


Angehängte Dateien
.xlsx   VBA_Zuordnung_von_Textzellen_zu_richtiger_Spalte.xlsx (Größe: 12,22 KB / Downloads: 6)
Antworten Top
#2
Hallo,
Sub SpaltenZuordnen()
Dim i As Long, j As Long
On Error Resume Next
With Range("A2").CurrentRegion
For i = 3 To .Rows.Count
For j = .Cells(i, .Columns.Count + 1).End(xlToLeft).Column To 4 Step -1
If Len(.Cells(i, j)) Then
.Cells(i, j).Cut .Cells(i, Application.Match(.Cells(i, j).Value, .Rows(2), 0))
End If
Next j
Next i
End With
End Sub
Gruß Uwe
Antworten Top
#3
Geil, hat mir unendlich viel Arbeit erspart!! Vielen Dank!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste