Clever-Excel-Forum

Normale Version: Zellen verschieben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
ich bekomme aus einer Datenbank eine Excelliste mit sehr vielen Daten. Die Monate sind senkrecht aufgelistet:

Nachname  Vorname     Monat

Muster        Max           01/2016
Muster        Max           02/2016
Muster        Max           03/2016
Muster        Max           04/2016
Muster        Max           05/2016
Muster        Max           06/2016

Für eine Abrechnung würde ich die Monate waagerecht benötigen. Etwa so:

Nachname  Vorname     Monat1         Monat2       Monat3       Monat4       Monat5         Monat6

Muster         Max            01/2016       02/2016     03/2016     04/2016      05/2016       06/2016

Gibt es in Excel eine Möglichkeit dies automatisch (Makro, VBA) zu tun?
Vielen Dank für Eure Hilfe!

VG Floh
Hi Floh,

schau dir mal diese Seite http://www.online-excel.de/excel/singsel.php?f=68 an. Du kannst dir ja den Vorgang mit dem Makrorekorder aufzeichnen und den Code zu vErbesserung hier einstellen. Damit kannst du, falls du es öfters brauchst, die Schritte automatisieren.
Hallo WillWissen,
danke erstmal, aber das trifft es nicht ganz was ich möchte/brauche. Die Namen sollten schon in der 1. Spalte untereinander bleiben (Ich habe ca 1000 Personen in der Liste), allerdings sollte der Name nur noch einmal vorhanden sein und die Monate jeweils eine Spalte bekommen.
VG Floh
Zeig mal deine Datei.
Hallo,

vielleicht so?

Code:
Sub prcMonateaufNamen()
  Dim objDic As Object
  Dim lngC As Long
  Dim varkey As Variant
 
  Set objDic = CreateObject("scripting.dictionary")
 
  With Worksheets("Tabelle1")
     For lngC = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
        varkey = .Cells(lngC, 1).Value & "  " & .Cells(lngC, 2).Value
        objDic(varkey) = objDic(varkey) & .Cells(lngC, 3) & "::"
     Next lngC
  End With
 
  lngC = 2
 
  With Worksheets("Tabelle2")
     For Each varkey In objDic.keys
        .Cells(lngC, 1).Resize(, 2).Value = Split(varkey, "  ")
        .Cells(lngC, 3).Resize(, UBound(Split(objDic(varkey), "::"))).Value = Split(objDic(varkey), "::")
        lngC = lngC + 1
     Next varkey
  End With
 
  Set objDic = Nothing
End Sub
Hallo snb,
hier mal die gekürzte Datei:

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Am Ende sollen die Daten und Zahlen in dieser Tabelle stehen:

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]


VG
[url=https://drive.google.com/file/d/0B6e1N7hqBQFDd0NvdlFybWR5SGM/view?usp=sharing][/url]
Hallo snb,
hier mal die gekürzte Datei:

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Am Ende sollen die Daten und Zahlen in dieser Tabelle stehen:

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]


VG
Hi Floh,

lade deine Daten bitte mit der foreneigenen Software hoch - Fremdhoster oder Clouds sind nicht erwünscht. In der Regel ist dort die Vorhaltezeit der Daten begrenzt (im Forum nicht); nachfolgende User, die ein ähnliches Problem haben, können dann nicht mehr die Beiträge nachvollziehen. Zudem besteht immer mal die Gefahr einer Infektion.
So funktioniert es:
http://www.clever-excel-forum.de/Thread-...ng-stellen
Hi,
Danke für den Hinweis. Blush

hier mal die gekürzte Datei:

[attachment=11784]

Am Ende sollen die Daten und Zahlen in dieser Tabelle stehen:

[attachment=11785]
Merken
VG
Merken
Hallo,

manche Monate stehen mehrmals drin. Was soll da passieren?
Seiten: 1 2