Hallo zusammen,
ich will folgendes machen:
Ich habe eine Arbeitsmappe mit zwei Tabellen: "Tabelle1" und "Scannen". Ich möchte, dass der Wert, der im Tabellenblatt "Scannen" im Feld A1 steht, in der Tabelle1, dort Spalte T gesucht wird. Wenn er gefunden wird, soll zwei Felder weiter in derselben Zeile das aktuelle Datum eingetragen werden. Das Makro soll automatisch ausgeführt werden, sobald ein Wert in das Feld A1 eingegeben wurde und Enter oder Return gedrückt wurde. Wenn die Suche erfolgreich war, soll der Text aus dem Suchfeld A1 gelöscht werden und der Cursor soll wieder in dieses Feld A1 springen.
Ich habe dazu diesen Code erstellt und er funktioniert nicht und ich verstehe nicht wieso:
----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Dim wsScan As Worksheet, wsData As Worksheet
Dim searchValue As String, searchRange As Range
Dim foundCell As Range
Set wsScan = ThisWorkbook.Sheets("Scannen")
Set wsData = ThisWorkbook.Sheets("Tabelle1")
searchValue = wsScan.Range("A1").Value
Set searchRange = wsData.Range("T:T")
Set foundCell = searchRange.Find(searchValue, LookIn:=xlValues)
If Not foundCell Is Nothing Then
foundCell.Offset(0, 1).Value = Date
wsScan.Range("A1").Clear
wsScan.Range("A1").Select
End If
End If
End Sub
---------
Wenn ich das Makro ausführe (etwas in das Feld A1 schreibe und auf Return oder Enter drücke, dann wird der Inhalt des Feldes gelöscht, es gibt kurz einen Ladekreis und dann erhalte ich die Fehlermeldung Laufzeitfehler 1004, Die Methode 'Range' für das Objekt _Worksheet ist fehlgeschlagen.
Wenn ich auf Debuggen oder Beenden gehe, schließt sich Excel.
Ich weiß nicht mehr weiter und würde mich sehr über etwas Hilfe von Euch freuen. Danke im Voraus.
|