AW: noch einfacher
17.09.2009 11:21:02
Chris
Servus Petra,
hier eine vereinfachte Version mit Erklärung:
Sub t()
Dim lngLetzte As Long, myArr, i As Long, k As Long
lngLetzte = Cells(65536, 2).End(xlUp).Row ' letzte beschriebene Zeile ermitteln in Spalte B
myArr = Range("B3:F" & lngLetzte) ' Range der Tabelle in Array einlesen
For i = LBound(myArr) To UBound(myArr) ' Schleife über die Zeilen der 1.Spalte des Arrays ( _
Otto1...)
For k = 2 To 5 ' Schleife über weitere Spalten des Arrays (insges. sind das ja 5) (Werte...)
If myArr(i, k) 0 Then ' wenn der Wert nicht 0 ist, dann schreibe
Range("H65536").End(xlUp).Offset(1, 0) = myArr(i, 1) 'den Namen (aktuelle Zeile des _
Arrays) nach H
Range("I65536").End(xlUp).Offset(1, 0) = Cells(2, k + 1) ' die Überschrift aus der _
Tabelle(hose,...) I
Range("J65536").End(xlUp).Offset(1, 0) = myArr(i, k) und den dazugehörigen Wert nach _
J
End If
Next k
Next i
End Sub
Gruß
Chris