Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Zeilen in Spalten umwandeln
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 12.06.2007, 11:30 Nach oben

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!


02.gif
 Beschreibung:
und so solls aussehen!
 Dateigröße:  8.51 KB
 Angeschaut:  679 mal

02.gif



01.gif
 Beschreibung:
anfangssituation
 Dateigröße:  11.7 KB
 Angeschaut:  679 mal

01.gif


Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 12.06.2007, 12:12 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 12.06.2007, 12:25 Nach oben

WOWWWW! sehr geil, danke für die schnelle antwort! es hat alles geklappt! merci!!!!!!!!!!! Very Happy
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 18.07.2007, 11:07 Nach oben

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!


03.gif
 Beschreibung:
 Dateigröße:  8.89 KB
 Angeschaut:  524 mal

03.gif


Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 18.07.2007, 13:06 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 18.07.2007, 14:43 Nach oben

danke! hat geklappt :)
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 18.09.2007, 16:23 Nach oben

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!


04.gif
 Beschreibung:
...und so solls am ende aussehen.
 Dateigröße:  7.01 KB
 Angeschaut:  411 mal

04.gif



05.gif
 Beschreibung:
das ist die originaltabelle...
 Dateigröße:  13.84 KB
 Angeschaut:  411 mal

05.gif


Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 18.09.2007, 16:45 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 19.09.2007, 07:29 Nach oben

juhuuu, es funzt! danke!!!!
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 14.03.2008, 09:37 Nach oben

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!


06.gif
 Beschreibung:
ist
 Dateigröße:  11.46 KB
 Angeschaut:  252 mal

06.gif



07.gif
 Beschreibung:
soll
 Dateigröße:  7.5 KB
 Angeschaut:  252 mal

07.gif


Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 14.03.2008, 11:32 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 14.03.2008, 12:07 Nach oben

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))
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 14.03.2008, 12:21 Nach oben

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.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
egorka
Newbie
Newbie


Anmeldedatum: 12.06.2007
Beiträge: 32
Wohnort: dd

BeitragVerfasst am: 14.03.2008, 12:34 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
silex1
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 18.12.2007
Beiträge: 122
Wohnort: Dresden

BeitragVerfasst am: 14.03.2008, 12:39 Nach oben

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

_________________
"Was nutzt der Baum der Erkenntnis, wenn das Blatt der Erfahrung fehlt!"
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Automatische Kopieren in andere Zeilen Deltar Microsoft Excel Hilfe 1 26.11.2008, 18:24 Letzten Beitrag anzeigen
Keine neuen Beiträge Zeilen zusammenfügen sinclair Microsoft Word Hilfe 1 21.11.2008, 20:05 Letzten Beitrag anzeigen
Keine neuen Beiträge Excel Tabellenzeilen in Spalten umwan... robbe Microsoft Excel Hilfe 4 21.11.2008, 13:52 Letzten Beitrag anzeigen
Keine neuen Beiträge Spalten durchsuchen Knuddl Microsoft Excel Hilfe 6 18.11.2008, 09:52 Letzten Beitrag anzeigen
Keine neuen Beiträge Daten aus Spalten von Tabellenblatt 1... leenie Microsoft Excel Hilfe 3 14.11.2008, 10:52 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de