ich habe bereits hier im Forum eine Programmierung gefunden, die im Prinzip genau das tut, was ich gerne möchte, leider "ignoriert" er die Spalte "B", was soll also passieren? Das Programm soll eine Tabelle in der die Daten in einer Matrix horizontal stehen in eine Liste ausgeben in der jeder Datensatz in einer Zeile steht:
Dim arrTmp, lngRow As Long, arrDaten(), lngCounter As Long, lngColumn As Long
arrTmp = Sheets(1).Cells(1, 1).CurrentRegion
ReDim arrDaten(1 To 4, 1 To UBound(arrTmp) * (UBound(arrTmp, 2) - 2))
arrDaten(1, 1) = "Artikel"
arrDaten(2, 1) = "Farbe"
arrDaten(3, 1) = "Größe"
arrDaten(4, 1) = "Menge"
lngCounter = 1
For lngRow = 2 To UBound(arrTmp)
For lngColumn = 3 To UBound(arrTmp, 2)
If arrTmp(lngRow, lngColumn) > 0 Then
lngCounter = lngCounter + 1
arrDaten(1, lngCounter) = arrTmp(lngRow, 1)
arrDaten(2, lngCounter) = arrTmp(lngRow, 2)
arrDaten(3, lngCounter) = arrTmp(1, lngColumn)
arrDaten(4, lngCounter) = arrTmp(lngRow, lngColumn)
End If
Next
Next
ReDim Preserve arrDaten(1 To 4, 1 To lngCounter)
With Sheets(2)
.Cells.ClearContents
.Cells(1, 1).Resize(lngCounter, 4) = Application.Transpose(arrDaten)
End With
Wo muss ich drehen, dass er mir die Spalte "B" auch berücksichtigt?
Lieben Gruß
Marc