Tabelle neu organisieren, Spalte einfügen
#1
Guten Morgen ihr Cleveren,
ich muss eine Tabelle umsortieren. Im Prizip habe ich eine Lösung gefunden, die auch funktioniert. Ich verwende ein zweites Tabellenblatt als Hilfe, das ich nach dem Sortieren wieder lösche. Es sind 100 Zeilen in der alten Tabelle und dann 50 Zeilen in der neuen Tabelle.

Das Sortieren müßte auch auf demselben Tabellenblatt gehen. Hat jemand eine Lösung dafür?

Alte Tabelle
1. Zeile          A C D E
2. Zeile          B
3. Zeile          F I J K
5. Zeile          G                 usw  (Jeder Buchstabe eine Zelle)

Neue Tabelle
1. Zeile          A B C D E
2. Zeile          F G I J K
3. Zeile        
5. Zeile          G                 usw

Meine Idee wäre eine Schleife, in der der Schleifenzähler im Zellbezug verwendet wird. Leider kann ich mangels Kenntnisse die VBA Syntax dafür nicht aufschreiben. Als kleine Erweiterung der Aufgabenstellung wäre top, wenn in jedem Schritt eine Abfrage erfolgt, ob die nächste Zelle in Spalte A leer ist. Falls ja, soll die Schleife abgebrochen werden.

Danke für eure Hilfe und schönen Tag  Huh ,
Joachim
Top
#2
Hallo,

so wirklich verstanden habe ich das nicht. Zeige doch mal eine Beispieltabelle.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3

.xlsx   Test alte Tabelle.xlsx (Größe: 8,79 KB / Downloads: 6)

Die Form der alten Tabelle ist angehängt, die neue sieht dann entsprechend aus
Grüße
Top
#4
Hallo,

das Muster ist immer das gleiche?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
Ja, immer das gleiche,... 100 Zeilen in der alten Tabelle. Der Wert aus A2 soll B1 werden, A4 soll B2 werden, usw. Es muss also in der neuen Tabelle für B eine neue Spalte eingefugt werden. In der neuen Tabelle sind dann 50 Zeilen übrig. Ist das nun klar?
Grüsse
Top
#6
In meiner ersten Anfrage ist leider ein kleiner Fehler,.....   in der neuen Tabelle darf in der 5. Zeile kein G stehen, sorry
Top
#7
hallo zusammen,
jetzt habe ich mal den Makro Recorder für drei Werte laufen lassen. Kann mir bitte jemand das so ändern, dass die Zellen und Zeilen jeweils durch einen Schleifenzähler (i von 1 bis 50) adressiert werden?

Sub Test()
'
' WKN Makro
'
' Tastenkombination: Strg+w
'
    Columns("B:B").Select
    Selection.Insert Shift:=xlToRight
   
 
    Range("A2").Select
    Selection.Cut Destination:=Range("B1")
    Rows("2:2").Select
    Selection.Delete Shift:=xlUp
    Range("A3").Select
    Selection.Cut Destination:=Range("B2")
    Rows("3:3").Select
    Selection.Delete Shift:=xlUp
    Range("A4").Select
    Selection.Cut Destination:=Range("B3")
    Rows("4:4").Select
    Selection.Delete Shift:=xlUp
    Range("A5").Select
   
 ' usw

End Sub

Wie schon vorher erwähnt, wäre eine Abfrage toll, ob in Spalte A eine leere Zelle auftaucht und die Schleife dann abgebrochen wird. Kann mit bitte jemand helfen?
Danke und Grüße
Joachim
Top
#8
Hallo Joachim,
Sub Makro1()
 Dim rngE As Range
 Set rngE = Application.Intersect(Columns(1), Cells(1).CurrentRegion.SpecialCells(xlCellTypeBlanks).EntireRow)
 Columns(2).Insert Shift:=xlToRight
 rngE.Insert Shift:=xlToRight
 Cells(1, 2).Delete
 Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Gruß Uwe
Top
#9
Hallo Uwe,
super, ich danke dir. Es hat auf Anhieb geklappt, genauso hatte ich es mir vorgestellt.
Grüße
Joachim
Top


Gehe zu:


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