2016-03-21 5 views
1

Ich versuche, die Zeile einer Zelle mit einem bestimmten Wert (der gleiche Wert wie range("C1").value) zu finden und diese Zeile zu setzen Nummer in einer anderen Zelle. Ich bleibe zwei Stunden dran.Excel VBA: finde die Zeile einer Zelle mit einem bestimmten Wert und setze die Zeilennummer in eine andere Zelle

Mein Code wie folgt:

Set found = sheet1.Columns("B").Find(what:= sheet1.range("C1").Value, LookIn:=xlValues, lookat:=xlWhole)  
sheet1.range("A2").value= found.Address 

Object variable not set

Was ist die Quelle dieses Fehlers Dieser Code bekam Fehlermeldung (I sheet1 vor aktiviert)?

+0

Ohne das Arbeitsblatt oder den Rest des Codes zu sehen, würde ich vermuten, dass der Suchwert nicht gefunden wurde. – Comintern

+0

@ Comintern19 Vielen Dank für Ihre Antwort. Das Problem ist, dass meine Augen sehen, dass B24 den gleichen Wert hat wie der Suchwert (Blatt1. Bereich ("C1"). Wert), aber der VBA-Code gibt mir nicht die Zeilennummer, die in diesem Fall 24 ist. .................. habe ich den "Suchwert", über den Sie sprechen, falsch verstanden? Bitte helfen Sie! Ich danke dir sehr! – kitty

Antwort

0

B'cos die gefundene Variable ist leer, da Find() keine übereinstimmenden Werte findet und nichts in der gefundenen Variable setzt.

Dim found As Range 

Set found = Sheet1.Columns("B").Find(what:=Sheet1.Range("C1").Value, LookIn:=xlValues, lookat:=xlWhole) 

If Not found Is Nothing Then 
    Sheet1.Range("A2").Value = found.Address 
End If 
+0

vielen dank! Dein Code hat funktioniert! : D – kitty

Verwandte Themen