Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilenmerkmale in Spalten umwandeln

Betrifft: Zeilenmerkmale in Spalten umwandeln von: MG_Learning
Geschrieben am: 17.08.2008 18:31:50

Hallo zusammen!

Ich habe keine Ahnung, wie ich aus folgender Tabellenstruktur: Beispiel:

A B C
London 20 Kinos
London 50 Gaststätten
London 10 Einkaufscentren
Paris 18 Kinos
Paris 63 Gaststätten
Paris 9 Einkaufszentren

folgende machen kann:

A B C D
Stadt Kinos Gaststätten Einkaufszentren
London 20 50 10
Paris 18 63 9

Könntet ihr mir bitte helfen! Per Hand 3500 Zeilen so umzuschreiben - ich mag gar nicht dran denken!

Danke

Monty

  

Betrifft: AW: Zeilenmerkmale in Spalten umwandeln von: Peter Feustel
Geschrieben am: 17.08.2008 19:21:49

Hallo Monty,

so sollte es gehen:

Option Explicit

Public Sub Konzentrieren()

Dim WkSh_Q    As Worksheet
Dim WkSh_Z    As Worksheet
Dim lZeile_Q  As Long
Dim lZeile_Z  As Long
Dim sGruppe   As String


   Application.ScreenUpdating = False
   
   Set WkSh_Q = Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen !!!
   Set WkSh_Z = Worksheets("Tabelle2") ' den Tabellenblattnamen ggf. anpassen !!!
   
   lZeile_Z = 1
   
   For lZeile_Q = 1 To WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row
      If sGruppe = "" Then
         GoSub Gruppenbegriff_einstellen
      End If
      If sGruppe = Trim(WkSh_Q.Cells(lZeile_Q, 1).Value) Then
         GoSub Daten_uebernehmen
       Else
         GoSub Gruppenbegriff_einstellen
         GoSub Daten_uebernehmen
      End If
   Next lZeile_Q
   
   Application.ScreenUpdating = True
   
   Exit Sub
   
Daten_uebernehmen:
   
   Select Case Trim(WkSh_Q.Cells(lZeile_Q, 3).Value)
      Case "Kinos"
         WkSh_Z.Cells(lZeile_Z, 2).Value = WkSh_Q.Cells(lZeile_Q, 2).Value
      Case "Gaststätten"
         WkSh_Z.Cells(lZeile_Z, 3).Value = WkSh_Q.Cells(lZeile_Q, 2).Value
      Case "Einkaufscentren"
         WkSh_Z.Cells(lZeile_Z, 4).Value = WkSh_Q.Cells(lZeile_Q, 2).Value
      Case Else
         WkSh_Z.Cells(lZeile_Z, 5).Value = WkSh_Q.Cells(lZeile_Q, 2).Value
   End Select

Return

Gruppenbegriff_einstellen:

   sGruppe = Trim(WkSh_Q.Cells(lZeile_Q, 1).Value)
   lZeile_Z = lZeile_Z + 1
   WkSh_Z.Cells(lZeile_Z, 1).Value = sGruppe

Return

End Sub



Gruß Peter


  

Betrifft: AW: Zeilenmerkmale in Spalten umwandeln von: MG_Learning
Geschrieben am: 17.08.2008 21:52:13

Vielen vielen Dank!

Funktioniert!

Gruß
Monty


  

Betrifft: AW: Zeilenmerkmale in Spalten umwandeln von: Peter Feustel
Geschrieben am: 17.08.2008 21:55:33

Hallo Monty,

der Vollständigkeit wegen, hier meine Testmappe.

https://www.herber.de/bbs/user/54687.xls

Gruß Peter


 

Beiträge aus den Excel-Beispielen zum Thema "Zeilenmerkmale in Spalten umwandeln"