Makro umschreiben...
30.07.2007 13:01:25
Sabine
ich brauche in makro, das solange der wert in spalte B gleich ist, die werte in spalte E mit komma neben einander schreibt und die werte in spalte G summiert. Die restlichen spalten (bis inkl. K) sollen gleich bleiben und die so entstandenen daten in eine neue tabelle kopiert werden.
ich habe bereits ein makro das so etwas ähnliches macht aber um es umzuschreiben fehlen mir die kenntnisse...
hier das Makro:
Sub merge()
Dim OffNr, myItem, myPrice, i As Long, b(), n As Long
With Range("c1", Range("c" & Rows.Count).End(xlUp))
OffNr = .Value
myItem = .Offset(,8).Value
myPrice = .Offset(,59).Value
End With
ReDim b(1 To UBound(OffNr,1), 1 To 3)
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(OffNr,1)
If Not IsEmpty(OffNr(i,1)) Then
If Not .exists(OffNr(i,1)) Then
n = n + 1
b(n,1) = OffNr(i,1) : b(n,2) = myItem(i,1) : b(n,3) = myPrice(i,1)
.add OffNr(i,1), n
Else
x = .item(OffNr(i,1))
b(x,2) = b(x,2) & ", " & myItem(i,1)
b(x,3) = b(x,3) + myPrice(i,1)
End If
End If
Next
End With
On Error Resume Next
Application.DisplayAlerts = False
Sheets("result").Delete
Application.DicplayAlerts = True
Sheets.Add.Name = "Ergebnis"
Sheets("Ergebnis").Range("a1").Resize(n,3).Value = b
End Sub