Office: Zeilen in Spalten umwandeln

Helfe beim Thema Zeilen in Spalten umwandeln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich suche schon seit einer Std nach einer passenden problemlösung, finde aber nix gescheutes. ich habe folgendes trouble mit einer liste:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von egorka, 12. Juni 2007.

  1. egorka Erfahrener User

    Zeilen in Spalten umwandeln


    Hallo,

    ich suche schon seit einer Std nach einer passenden problemlösung, finde aber nix gescheutes. ich habe folgendes trouble mit einer liste:

    in einer exel-tabelle sind in jeder zeile angaben zu personen - wie z.b. name, vorname, tel, email usw. diese angaben sollen nun aber in spalten "umgewandelt" werden, quasi sollten einige angaben, wie z.b. titel, nachname und vorname untereinander stehen.

    ich habe 2 bildchen eingefügt, wie es aussehen soll (02.gif) und wie ich die tabelle bis jetzt habe (01.gif).

    es wäre echt super, wenn hier jemand ein tipp für mich hätte, wie ich das anstellen soll! bin aber in exel total schlecht, deswegen wäre eine newbie-anleitung sehr passend :)!

    p.s.: man sollte beachten, dass das feld D "zusammen" eine formel enthält, die den nachnamen und den vornamen aus den feldern A und B in dem feld D zusammenfügt und durch ein komma trennt. da ich aber die felder A und B im endeffekt gar nicht brauche, wollte ich sie löschen. doch dann kommt statt dem zusammengesetzten vor- und nachnamen ein "#BEZUG!" fehler. wie kann ich das umgehen bzw. die formel irgendwie rauslöschen, dabei den zusammengesetzten vor- und nachnamen aber beibehalten?

    p.s.s: in "02.gif" sind die zeilen 5 und 9 etwas höher, das hab ich nur für eine bessere visuelle darstellung geändert, im grunde sollen alle zeilen gleich hoch bleiben.

    danke schon mal!
     
    egorka, 12. Juni 2007
    #1
  2. schatzi Super-Moderator
    Hallo!

    Ich glaube, hier bist du mit VBA am besten bedient:

    Öffne aus deiner Excel-Datei den VBA-Editor (Alt+F11)
    Erstelle ein neues Modul (Menü Einfügen > Modul)
    Kopiere den angegebenen Code in das Codefenster rechts
    Schliesse den VBA-Editor
    Zurück in Excel drücke Alt+F8 und führe das Makro "Umsortieren" aus

    Daraufhin wird ein neues Tabellenblatt angelegt, in dem die Umsortierung erscheint.

    Code:
    Sub Umsortieren()
    Dim i As Integer, j As Integer
    Dim Zielblatt As Worksheet
    Application.ScreenUpdating = False
    Set Zielblatt = Sheets.Add
    For i = 2 To Tabelle1.UsedRange.Rows.Count
    With Zielblatt
    .Cells(1 + j, 1) = Tabelle1.Cells(i, 3)
    .Cells(2 + j, 1) = Tabelle1.Cells(i, 4)
    .Cells(3 + j, 1) = Tabelle1.Cells(i, 5)
    .Cells(1 + j, 2) = Tabelle1.Cells(i, 6)
    .Cells(2 + j, 2) = Tabelle1.Cells(i, 7)
    .Cells(1 + j, 3) = Tabelle1.Cells(i, 8)
    .Cells(2 + j, 3) = Tabelle1.Cells(i, 9)
    .Cells(3 + j, 3) = Tabelle1.Cells(i, 10)
    .Cells(4 + j, 3) = Tabelle1.Cells(i, 11)
    .Cells(1 + j, 4) = Tabelle1.Cells(i, 12)
    .Cells(1 + j, 5) = Tabelle1.Cells(i, 13)
    j = j + 4
    End With
    Next i
    Zielblatt.Columns("A:E").AutoFit
    Application.ScreenUpdating = True
    End Sub
     
    schatzi, 12. Juni 2007
    #2
  3. egorka Erfahrener User
    WOWWWW! sehr geil, danke für die schnelle antwort! es hat alles geklappt! merci!!!!!!!!!!! :-D
     
    egorka, 12. Juni 2007
    #3
  4. egorka Erfahrener User

    Zeilen in Spalten umwandeln

    hallo,

    die ganze sache hat wunderbar geklappt, nur ist meine ausgangs-tabelle jetzt etwas verändert worden.

    zwischen extra 2 (spalte L) und extra 3 (spalte M) wurde jetzt eine neue spalte eingefügt, nenen wir sie extra X.
    nun ist die "extra X" in der spalte M und "extra 3" in der spalte N.

    die zelle "extra X" soll nun jeweils unter der "extra2" erscheinen, wie im angehängten bild.

    es wäre super, wenn mir dabei einer helfen würde, den VBA code zu ergänzen, da ich in diesem gebiet mich überhaupt nicht auskenne! danke!
     
    egorka, 18. Juli 2007
    #4
  5. schatzi Super-Moderator
    Hallo!

    Teste mal diese Anpassung:
    Code:
    Sub Umsortieren()
    Dim i As Integer, j As Integer
    Dim Zielblatt As Worksheet
    Application.ScreenUpdating = False
    Set Zielblatt = Sheets.Add
    For i = 2 To Tabelle1.UsedRange.Rows.Count
    With Zielblatt
    .Cells(1 + j, 1) = Tabelle1.Cells(i, 3)
    .Cells(2 + j, 1) = Tabelle1.Cells(i, 4)
    .Cells(3 + j, 1) = Tabelle1.Cells(i, 5)
    .Cells(1 + j, 2) = Tabelle1.Cells(i, 6)
    .Cells(2 + j, 2) = Tabelle1.Cells(i, 7)
    .Cells(1 + j, 3) = Tabelle1.Cells(i, 8)
    .Cells(2 + j, 3) = Tabelle1.Cells(i, 9)
    .Cells(3 + j, 3) = Tabelle1.Cells(i, 10)
    .Cells(4 + j, 3) = Tabelle1.Cells(i, 11)
    .Cells(1 + j, 4) = Tabelle1.Cells(i, 12)
    .Cells(2 + j, 4) = Tabelle1.Cells(i, 13)
    .Cells(1 + j, 5) = Tabelle1.Cells(i, 14)
    j = j + 4
    End With
    Next i
    Zielblatt.Columns("A:E").AutoFit
    Application.ScreenUpdating = True
    End Sub
     
    schatzi, 18. Juli 2007
    #5
  6. egorka Erfahrener User
    danke! hat geklappt :)
     
    egorka, 18. Juli 2007
    #6
  7. egorka Erfahrener User
    hallo

    ich wieder mit einer erneuten anfrage. die forderungen haben sich geändert und somit hat sich die ein oder andere zeile verschoben bzw. ergänzt.

    ich brauche da einen neuen vba code, der in so etwa wie die alten ist.

    für den code wäre ich 1000mal dankbar!

    p.s.: wichtig wäre:

    in der entgültigen tabelle sollten 2 leerzeilen zwischen den 2 datensätzen stehen und z.b. das Feld "Mustermann, Mark" (Feld A2) soll sich aus den einzelnen Zellen "Mustermann" und "Mark" zusammensetzen

    Danke nochmals!
     
  8. schatzi Super-Moderator

    Zeilen in Spalten umwandeln

    Hallo!

    Dann wohl so:
    Code:
    Sub Umsortieren()
    Dim i As Integer, j As Integer
    Dim Zielblatt As Worksheet
    Application.ScreenUpdating = False
    Set Zielblatt = Sheets.Add
    For i = 2 To Tabelle1.UsedRange.Rows.Count
    With Zielblatt
    .Cells(1 + j, 1) = Tabelle1.Cells(i, 2)
    .Cells(2 + j, 1) = Tabelle1.Cells(i, 3) & ", " & Tabelle1.Cells(i, 4)
    .Cells(3 + j, 1) = Tabelle1.Cells(i, 5)
    .Cells(1 + j, 2) = Tabelle1.Cells(i, 8)
    .Cells(2 + j, 2) = Tabelle1.Cells(i, 9)
    .Cells(3 + j, 2) = Tabelle1.Cells(i, 6)
    .Cells(4 + j, 2) = Tabelle1.Cells(i, 7)
    .Cells(1 + j, 3) = Tabelle1.Cells(i, 10)
    .Cells(2 + j, 3) = Tabelle1.Cells(i, 11)
    .Cells(3 + j, 3) = Tabelle1.Cells(i, 12)
    .Cells(4 + j, 3) = Tabelle1.Cells(i, 13)
    .Cells(1 + j, 4) = Tabelle1.Cells(i, 14)
    .Cells(2 + j, 4) = Tabelle1.Cells(i, 15)
    .Cells(1 + j, 5) = Tabelle1.Cells(i, 16)
    j = j + 6
    End With
    Next i
    Zielblatt.Columns("A:E").AutoFit
    Application.ScreenUpdating = True
    End Sub
     
  9. egorka Erfahrener User
    juhuuu, es funzt! danke!!!!
     
  10. egorka Erfahrener User
    hallo,

    seit kurzem habe ich wieder mit diesen tabellen zu kämpfen. nun müssen die daten für eine datenbak aufbereitet werden und ich habe wieder schwierigkeiten mit dem umwandeln. unten sind 2 bildchen. ich habe einige zellen farbig hervorgehoben - da könnten meiner meinung nach schwierigkeiten entstehen bzw. bin ich mir da nicht sicher, ob sowas geht.

    rot markiert:
    ist: Vorname, Name stehen in einer Zelle mit komma getrennt
    soll: Name und Vorname in getrennte Zellen nacheinander

    blau markiert:
    ist: firmenname steht mal in einer Zeile, mal in zwei Zeilen untereinander (max. sind es aber nur 2 Zellen untereinander)
    soll: ganzer firmenname soll in eine Zelle. WICHTIG: in diesem Bsp. sollten Wörter "c/o Firma" und "soundso" mit einem leerzeichen getrennt werden

    grün markiert:
    ist: die zusatzinfos nr. 1 stehen immer in der ersten Zelle in der Spalte D
    soll: diese zusatzinfos nr. 1 sollen in spalte M platziert werden

    gelb markiert:
    ist: die zusatzinfos nr. 2 stehen mal in einer Zelle, mal in 2 untereinander, ähnlich wie firmennamen (max. sind es aber nur 2 Zellen untereinander)
    soll: diese zusatzinfos nr. 2 sollen nacheinander in die spalte N platziert werden. WICHTIG: gertennt mit KOMMA


    ich hoffe es gibt dafür einen passenden VBA code, sonst bin ich ziemlich aufgeschmießen. würde mich über jegliche tipps sehr freuen! danke schon mal für eure hilfe!
     
  11. schatzi Super-Moderator
    Hallo!

    Erst wird alles von A nach B transformiert und jetzt alles von B wieder nach A zurück...
    Arbeitet bei euch denn nicht wenigstens EIN denkender Kopf????
    Oder zumindest jemand, der versucht, sich mit dem Code auseinanderzusetzen?
    Code:
    Sub test()
    Dim z As Worksheet, i&, j&
    Set z = Sheets.Add
    With Tabelle1
    For i = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row Step 7
    j = j + 1
    z.Cells(j, 1) = .Cells(i + 2, 1)
    z.Cells(j, 2) = .Cells(i, 1)
    z.Cells(j, 3) = Trim(Mid(.Cells(i + 1, 1), 1 + InStr(.Cells(i + 1, 1), ","), 99))
    z.Cells(j, 4) = Trim(Left(.Cells(i + 1, 1), InStr(.Cells(i + 1, 1), ",") - 1))
    z.Cells(j, 5) = Trim(.Cells(i + 2, 2) & " " & .Cells(i + 3, 2))
    z.Cells(j, 6) = .Cells(i, 2)
    z.Cells(j, 7) = Left(.Cells(i + 1, 2), 5)
    z.Cells(j, 8) = Mid(.Cells(i + 1, 2), 7, 99)
    z.Cells(j, 9) = .Cells(i, 3)
    z.Cells(j, 10) = .Cells(i + 1, 3)
    z.Cells(j, 11) = .Cells(i + 2, 3)
    z.Cells(j, 12) = .Cells(i + 3, 3)
    z.Cells(j, 13) = .Cells(i, 4)
    If IsEmpty(.Cells(i + 2, 4)) Then
    z.Cells(j, 14) = .Cells(i + 1, 4)
    Else: z.Cells(j, 14) = .Cells(i + 1, 4) & ", " & .Cells(i + 2, 4)
    End If
    z.Cells(j, 15) = .Cells(i, 5)
    Next i
    End With
    End Sub
     
    schatzi, 14. März 2008
    #11
  12. egorka Erfahrener User
    tut mir leid, aber wir haben hier keine klugen köpfe, die sich mit VBA auskennen. mir, dem mediengestalter azubi, der eigentlich mit programmierugn nix am hut hat, wurde diese wunderbare aufgabe gestellt.
    sicherlich ist es jetzt nich soo schwer, die einfachsten variablen usw. zu studieren, um einfach das prinzip dieser umsortierung zu verstehen, aber glauben Sie mir, ich habe dafür überhauot keine zeit... leider. deswegen bin ich hier auch jedesmal dankbar, wenn mir hier geholfen wird.
    ich muss ehrlich sagen, ich bin grad auf der suche nach grundlagen in vba, aber das ist einfach zu viel sotff was ich so gefunden hab, wo ich auch nich zurecht komme. und zeitdruck is wie gesagt das, was mich am meisten stört...

    den code habe ich übrigens ausprobiert, aber da kommt ein fehler, und zwar wohl in der zeile:

    z.Cells(j, 4) = Trim(Left(.Cells(i + 1, 1), InStr(.Cells(i + 1, 1), ",") - 1))
     
  13. schatzi Super-Moderator

    Zeilen in Spalten umwandeln

    Hallo!

    Kann es sein, dass in diesem Fall Vor- und Nachname NICHT durch ein Komma getrennt sind?
    Dann müsste man das noch mit einer If-Abfrage abfangen.
     
    schatzi, 14. März 2008
    #13
  14. egorka Erfahrener User
    mist, ich glaub das war ein fehler von mir: in der grafik oben (ist-grafik) steht ja:

    Vorname, Name

    dabei soll es andersrum sein:

    Name, Vorname


    ich habe in der Zeile jetzt Right statt Left eingesetzt, aber die endtabelle ist immer noch nicht in ordnung:

    in der Spalte C, wo Vorname erscheinen soll, erscheint Name

    in der spalte D erscheint e, Name statt Name

    und in der spalte G (PLZ) fehlt die erste null: man sieht nur 9117
     
  15. silex1
    silex1 Super-Moderator
    Hallo Schatzi,

    sieh es uns DD´lern bitte etwas nach!
    Zu DDR Zeiten konnten wir als einzige nicht "WEST"-Fernsehen schauen und seit 1989 alles nachholen und nachlesen, is halt sehr viel!

    LG silex1
     
Thema:

Zeilen in Spalten umwandeln

Die Seite wird geladen...
  1. Zeilen in Spalten umwandeln - Similar Threads - Zeilen Spalten umwandeln

  2. Ein Excel Spalte umwandeln in eine Word Zeile, geht das?

    in Microsoft Excel Hilfe
    Ein Excel Spalte umwandeln in eine Word Zeile, geht das?: Hallo Leute, ich brauche eine Zeile mit Kundennummern um damit mit Outlook einen Abgleich zu machen, ob wir auch wirklich alle Kundennummern bearbeitet haben. Diese Kundennummern liegen in einer...
  3. Mehrere Zeilen in Spalten umsortieren

    in Microsoft Excel Hilfe
    Mehrere Zeilen in Spalten umsortieren: Hallo, ich muss eine Liste umsortieren. Aktuell ist diese in Zeilen dargestellt, wobei es sein kann, dass Kunden mit 5 Zeilen oder 2 Zeilen und unterschiedlichen Artikeln vorhanden sind. Ich...
  4. Tabellen Spalten in Zeilen umwandeln

    in Microsoft Access Hilfe
    Tabellen Spalten in Zeilen umwandeln: Hallo zusammen, ist es möglich aus einer Tabelle über eine Abfrage (oder gerne auch anders) folgendes darzustellen. So sieht die Ursprungstabelle aus: imgur.com Produkt: Zutat 1:...
  5. Spalten in Zeilen umwandeln wenn A1 gleich A2

    in Microsoft Excel Hilfe
    Spalten in Zeilen umwandeln wenn A1 gleich A2: Hallo zusammen Ich brauche dringend Hilfe! Ich muss eine 57765 Zeilen lange Liste formatieren. Es geht um Infos zu Produkten, die ca. so aussehen: <tbody> A B C 1 201100435 Beispieltext 1...
  6. Tabellenwerte in Spalte umwandeln

    in Microsoft Excel Hilfe
    Tabellenwerte in Spalte umwandeln: Hallo, Ich habe Monatswerte für mehrere Jahr in einer Tabelle (siehe Muster). Die Tabelle wird über die Jahre weiter wachsen. Nun soll aus diesen Werten auch noch ein Grafik erstellt werden,...
  7. Werte aus einer Spalte - in Zeile umwandeln

    in Microsoft Access Hilfe
    Werte aus einer Spalte - in Zeile umwandeln: Hallo! Bin eben dabei sowas wie einen Veranstaltungskalender zu machen. Ich habe das Event X - an dem eine Reihe an Personen eingeladen werden. Diese Personen gebe ich quasi untereinander in...
  8. Spalten einer Matrix in Zeilen, und Zeilen in Spal umwandeln

    in Microsoft Excel Hilfe
    Spalten einer Matrix in Zeilen, und Zeilen in Spal umwandeln: Hallo! Ich hab folgendes Problem: Ich habe eine Excel Tabelle, bei der ich Spalten und Zeilen vertauschen möchte, ohne alles mühsam händisch umzutippen. Beispiel: statt.... Januar...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden