in dieser Mappe:
https://www.herber.de/bbs/user/78706.xls
steht der Wert 42 in Tabelle1!E7, sie ist verbunden mit E8.
Die erste Prozedur mit entsprechendem Namen bringt den Fehler 91 in dieser Codezeile:
Loop While Not C Is Nothing And C.Address firstaddress
Deshalb habe ich Prozedur 2 gebastelt, die läuft fehlerfrei auch wenn die Zellen weiter verbunden bleiben.
Frage1:
Seltsam finde ich es, wenn ich der gezeigten Mappe die Zellverbindung aufhebe so ist der Fehler im Code weg. Warum kommt da eigentlich der Fehler in der ersten Prozedur wenn sie noch verbunden sind?
Frage2:
Ich habe viel getestet und kann irgendwie das Problem nicht nachstellen, siehe diese Mappe:
https://www.herber.de/bbs/user/78707.xls
Dort ist E7 auch verbunden aber das gleiche Makro Fehler_91 läuft da gut durch.
Ergo liegt da der Fehler der ersten Mappe nicht an den verbundenen Zellen sondern an etwas anderem obwohl der Fehler weg ist wenn man die Zellverbindung aufhebt.
Mir ist das alles ein Rätsel *kopfkratz*
Danke ^ Gruß
Reinhard
Option Explicit
Sub Fehler_91()
Dim C As Range, firstaddress As String, Zei As Long, wks2 As Worksheet
Set wks2 = Worksheets("Tabelle2")
With Worksheets("Tabelle1")
Set C = .UsedRange.Find(42, , xlValues)
If Not C Is Nothing Then
firstaddress = C.Address
Do
Zei = Zei + 1
wks2.Cells(Zei + 1, 1) = C.Address
Set C = .UsedRange.FindNext(C)
Loop While Not C Is Nothing And C.Address firstaddress
End If
End With
End Sub
Sub Funktioniert()
Dim C As Range, firstaddress As String, Zei As Long, wks2 As Worksheet
Set wks2 = Worksheets("Tabelle2")
With Worksheets("Tabelle1")
Set C = .UsedRange.Find(42, , xlValues)
If Not C Is Nothing Then
firstaddress = C.Address
Do
Zei = Zei + 1
wks2.Cells(Zei + 1, 1) = C.Address
Set C = .UsedRange.FindNext(C)
If C Is Nothing Then Exit Do
Loop While C.Address firstaddress
End If
End With
End Sub