Find.range-Error
28.01.2013 21:55:30
Special-K
Ich habe mir einen Code geschrieben, der regelmäßig eingehende Daten aus dem Tabellenblatt "Eingang" in dem Tabellenblatt "akt" verarbeitet. Er sucht in "akt" nach dem Namen in "Eingang", Zelle A10.
Komischer Weise funktioniert das eine gewisse Zeit (Den selben Namen, womit er jetz Probleme hat, hat er vorher, in diesem Fall, 14 mal gefunden).
Irgendwann kommt dieser Fehler:
Laufzeitfehler '-2147417848 (80010108)':
Die Methode 'Find' für das Objekt 'Range' ist fehlgeschlagen
Der Debugger markiert folgende Zeile in nachstehendem 2tem Code (ich habe 2 "!" davor gemacht):
Cells.Find(gesuchter_name, After:=ActiveCell, LookAt:=xlWhole).Activate
Desweiteren kann ich in den Tabellenblättern nichts mehr verändern und die Selektion bleibt an der selben Stelle...Sonst funktioniert aber alles.
Ich weiss, mein Code könnte einfacher, sinnvoller und kürzer sein, aber ich habe vor 1 Woche mit VBA angefangen und er macht(e) das, was er soll(te).
Ich will nur wissen, warum dieser Fehler.
Zuerst der Hauptcode:
Sub read_lines()
Application.ScreenUpdating = False
'speichert vorherige markierung
Dim s As String
s = Selection.Address(0, 0)
Sheets("eingang").Range("c14").Value = "stop"
Sheets("eingang").Select
Do
If Range("C10")
Hier der Code, der den Fehler enthält:
Private Sub data_for_auct()
Dim suchbereich As Range
Dim gesuchter_name As String
Sheets("akt").Select
gesuchter_name = Sheets("Eingang").Range("a10")
Set suchbereich = Sheets("akt").Cells.Find(gesuchter_name, LookAt:=xlWhole)
If Not suchbereich Is Nothing Then
'wenn name gefunden wurde, markieren, ....
If gesuchter_name "" Then
Cells.Find(gesuchter_name, After:=ActiveCell, LookAt:=xlWhole).Activate
End If
'BRV/BitRobotVal setzen
Sheets("eingang").Select
Range("c16").Select
ActiveCell.Copy
Sheets("akt").Select
!! Cells.Find(gesuchter_name, After:=ActiveCell, LookAt:=xlWhole).Activate
ActiveCell.Offset(0, 2).Select
ActiveSheet.PasteSpecial xlValue
'Bits dieser Bietdauer + 1
ActiveCell.Offset(0, 3).Activate
ActiveCell = ActiveCell + 1
'kosten dieser bietdauer
ActiveCell.Offset(0, 1).Activate
ActiveCell = ActiveCell.Offset(0, -1) * Range("d35")
ActiveCell.NumberFormat = "#,0.00 "
'Bits insgesamt +1
ActiveCell.Offset(0, 1).Activate
ActiveCell = ActiveCell + 1
'kosten gesamt
ActiveCell.Offset(0, 1).Activate
ActiveCell = ActiveCell.Offset(0, -1) * Range("d35")
ActiveCell.NumberFormat = "#,0.00 "
Würde mich über schnelle Hilfe sehr freuen :/