Hilfe, Problem mit Makro
Günter
Guten Abend,
hätte eine Frage:
Bei unten stehenden Makro bekomme ich die Fehlermeldung 13,
Typ nicht veträglich in Zeile
ArrayTmp = Application.Transpose(ArrayTmp).
Nehme an, dass das Array zu klein ist. Wie könnte ich
hier was Araymäßig vergrößern.
Gruß
Gruß
Sub Liste_Neu()
Dim ArrayAlt, ArrayNeu, ArrayTmp(), oDic As Object
Dim nCount As Long, lngCol As Long, lngRow As Long
Set oDic = CreateObject("Scripting.Dictionary")
With Tabelle1 'Alt
ArrayAlt = .Range("N13", .Cells(.Rows.Count, 14).End(xlUp)).Value2
For nCount = 1 To UBound(ArrayAlt)
oDic(ArrayAlt(nCount, 1)) = 0
Next nCount
Erase ArrayAlt
End With
With Tabelle2 'Neu
ArrayNeu = .Range("A13", .Cells(.Rows.Count, 14).End(xlUp)).Value2
ReDim Preserve ArrayTmp(1 To UBound(ArrayNeu, 2), 1 To UBound(ArrayNeu))
For nCount = 1 To UBound(ArrayNeu)
If Not oDic.exists(ArrayNeu(nCount, 14)) Then
lngRow = lngRow + 1
For lngCol = 1 To 14
ArrayTmp(lngCol, lngRow) = ArrayNeu(nCount, lngCol)
Next lngCol
End If
Next nCount
End With
With Tabelle3 'Fehlende in Neu
.Range("A13", .Cells(.Rows.Count, 14)).ClearContents
If lngRow > 0 Then
ReDim Preserve ArrayTmp(1 To UBound(ArrayTmp), 1 To lngRow)
ArrayTmp = Application.Transpose(ArrayTmp)
With .Range("A13").Resize(lngRow, UBound(ArrayTmp, 2))
.Cells = ArrayTmp
.EntireColumn.AutoFit
End With
.Select
End If
End With
Sheets("Fehlende in Neu").Select
End Sub