Collapse column

Autor Thema: Office 2010: Office 2010: Spalten in Zeilen umwandeln  (Gelesen 3233 mal)

Offline Alfer Aluminium

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Office 2010: Spalten in Zeilen umwandeln
« am: September 27, 2012, 11:40:38 Vormittag »
Hallo zusammen,

im Anhang findet Ihr ein Bild mit 2 verschiedenen Excel-Tabellen. Zuerst die Variante wie sie mir zur Verfügung steht und darunter die Version die ich brauche...

Gibt es dafür irgendeine Funktion/Formel, dass ich mir nicht 5 Tage lang die Finger wund tippe?

Es geht um knapp 7.000 Artikel und über 51.000 Zeilen die ich sonst einzelnd zusammenfassen müsste.

Das wäre mir eine Riesenhilfe...

Dankeschön im Voraus
« Letzte Änderung: September 27, 2012, 11:56:53 Vormittag von Alfer Aluminium »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw:Office 2010: Office 2010: Spalten in Zeilen umwandeln
« Antwort #1 am: September 28, 2012, 09:31:13 Vormittag »
Hi,

das könntest du mit folgendem Makro machen:

Sub Zusammen()
   Dim lngZeile As Long
   Dim lngZiel As Long
   lngZiel = 2
   For lngZeile = 2 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) Step 4
      Worksheets("Tabelle2").Cells(lngZiel, 1) = Cells(lngZeile, 1)
      Worksheets("Tabelle2").Cells(lngZiel, 2) = Cells(lngZeile, 2)
      Worksheets("Tabelle2").Cells(lngZiel, 3) = Cells(lngZeile, 3)
      Worksheets("Tabelle2").Cells(lngZiel, 4) = Cells(lngZeile + 1, 4)
      Worksheets("Tabelle2").Cells(lngZiel, 5) = Cells(lngZeile + 2, 5)
      Worksheets("Tabelle2").Cells(lngZiel, 6) = Cells(lngZeile + 3, 6)
      lngZiel = lngZiel + 1
   Next lngZeile
End Sub

Bedingung ist, dass es tatsächlich immer 4 Zeilen zu jeder Nummer sind und diese fortlaufend untereinander stehen und dass die Aufteilung in die Spalten stets genau so vorliegt wie in dem Beispiel.
Die Daten werden in ein anderes Tabellenblat übertragen, den Namen der Zieltabellenblattes (im Beispiel Tabelle2) musst du also an deine Bedingungen anpassen.

Bis später,
Karin

Offline Alfer Aluminium

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Office 2010: Spalten in Zeilen umwandeln
« Antwort #2 am: September 28, 2012, 14:44:05 Nachmittag »
Hmm Danke für die Hilfe,

leider war das nur eine vereinfachte Form.

Die Nummern haben unterschiedlich viele Zeilen, je nach Menge der angegebenen Attribute...

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw:Office 2010: Office 2010: Spalten in Zeilen umwandeln
« Antwort #3 am: Oktober 01, 2012, 13:16:32 Nachmittag »
Hi,

dann solltest du das Beispiel so hochladen wie es im Original aussieht.

Bis später,
Karin

Offline Alfer Aluminium

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Office 2010: Spalten in Zeilen umwandeln
« Antwort #4 am: Oktober 01, 2012, 13:29:38 Nachmittag »
Salli,

anbei ein Auszug aus der Originaldatei, wieder kommt zu erst die Ursprungsform und darunter die Wunschform.

Gruß und merci

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Beverly

  • Full Member
  • ***
  • Beiträge: 129
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2010
Antw:Office 2010: Office 2010: Spalten in Zeilen umwandeln
« Antwort #5 am: Oktober 02, 2012, 09:37:31 Vormittag »
Hi,

Sub Zusammen()
   Dim lngZeile As Long
   Dim lngZiel As Long
   Dim intSpalte As Integer
   lngZiel = 2
   For lngZeile = 2 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
      Worksheets("Tabelle2").Cells(lngZiel, 1) = Cells(lngZeile, 1)
      Worksheets("Tabelle2").Cells(lngZiel, 2) = Cells(lngZeile, 2)
      intSpalte = Cells(lngZeile, 2).End(xlToRight).Column
      Worksheets("Tabelle2").Cells(lngZiel, intSpalte) = Cells(lngZeile, intSpalte)
      If Cells(lngZeile, 1) = Cells(lngZeile + 1, 1) And Cells(lngZeile, 2) = Cells(lngZeile + 1, 2) Then
         Do
            lngZeile = lngZeile + 1
            intSpalte = Cells(lngZeile, 2).End(xlToRight).Column
            Worksheets("Tabelle2").Cells(lngZiel, intSpalte) = Cells(lngZeile, intSpalte)
            If Cells(lngZeile, 1) <> Cells(lngZeile + 1, 1) And Cells(lngZeile, 2) <> Cells(lngZeile + 1, 2) Then Exit Do
         Loop
      End If
      lngZiel = lngZiel + 1
   Next lngZeile
End Sub

Bis später,
Karin

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.