AW: Schleife zum Auslesen von 2 Arrays
11.06.2008 23:27:00
2
Hi
in der Tat, deine Beispieldatei enthält leider nicht deine bisherigen Makro-Versuche, auf denen man aufbauen könnte.
allerdings finde ich deinen Ansatz mit dem Einlesen in ein Array nicht unbedingt Zielführend, einfacher wäre es mit diesem Makro:
Sub umformen()
Dim Zelle1 As Range
Dim Zelle2 As Range
Dim ZelleZiel As Range
Set Zelle1 = Range("B4")
Set ZelleZiel = Range("E4")
Do Until Zelle1.Value = ""
Set Zelle2 = Columns(Zelle1.Column).Find(what:=Zelle1.Value, _
after:=Cells(Rows.Count, Zelle1.Column), _
lookat:=xlWhole, searchdirection:=xlPrevious)
Zelle1.Copy Destination:=ZelleZiel
ZelleZiel.Font.Bold = True
If Zelle2.Row - Zelle1.Row > 0 Then
Range(Zelle1, Zelle2).Offset(0, 1).Copy Destination:=ZelleZiel.Offset(1, 0)
End If
Set ZelleZiel = Cells(Rows.Count, ZelleZiel.Column).End(xlUp).Offset(1, 0)
Set Zelle1 = Zelle2.Offset(1, 0)
Loop
End Sub
da hier direkt mit Zellen gearbeitet wird, könnte es bei grossen Datenmengen einwenig langsam sein.
allerdings solltest du dir im klaren sein, daß die von dir gewünschte Umformung lediglich optisch eine Verbesserung darstellt.
Für nachfolgende Auswertungen auf Ebene "Region" (SummeWenn, Pivot-Tabelle, Autofilter, Sortieren) ist das was du da vorhast, absolut TÖDLICH.
Gruß, Daniel