Problem mit Array und UBound
26.09.2006 16:26:29
Sebastian
baue mal wieder auf die Hilfe von euch Excel-Profis. Sitz schon ewig an dem Problem und komm einfach nicht vorwärts. Hoffe auf Tipps von euch. Danke. Also ich habe folgendes Makro, mit dem ich bestimmte Zeilen in einer Tabelle löschen will. Läuft eigentlich auch. Problem. Wenn die Tabelle nur eine Zeile hat,tritt andauernd eine Fehlermeldung (bei der Zeile: "For n = UBound(arrInactiveC, 1)...") auf ("Run Time Error 13: Type Missmatch"). Vielleicht hat jemand ne Idee woran das liegt. Würde mir wirklich sehr weiterhelfen.
Grüße Sebastian
Hier das Makro:
Public
Sub VergleichInactive2()
Dim wks1 As Worksheet, wks2 As Worksheet
Dim lastRow1 As Long, lastRow2 As Long
Dim rngInactive As Range
Dim n As Long
Dim rgRecord As Range
Set wks1 = Sheets("Calc")
Set wks2 = Sheets("Inactive")
lastRow1 = IIf(wks1.Range("C65536") <> "", 65536, _
wks1.Range("C65536").End(xlUp).Row)
lastRow2 = IIf(wks2.Range("C65536") <> "", 65536, _
wks2.Range("C65536").End(xlUp).Row)
arrInactiveC = wks2.Range("Nomi_List_Inactive_Var").Columns(2)
'Daten aus Tabelle1 an Array übergeben
For n = UBound(arrInactiveC, 1) To 1 Step -1 'HIER KOMMT DER FEHLER
Set rgRecord = wks2.Range("Nomi_List_Inactive_Var").Rows(n)
Set rngInactive = Sheets("Calc").Range("AY19").Find(arrInactiveC(n, 1))
'Daten aus Tabelle2 in Tabelle1 suchen.
If rngInactive Is Nothing Then
'Und wenn gefunden, dann Zeile löschen.
rgRecord.Delete
End If
Next
Erase arrInactiveC
End Sub