2016-11-18 4 views
0

Ich versuche, ein Makro zu erstellen, das eine Daten nach einer Suche abruft, zum Beispiel das Abrufen der benachbarten Zelle desjenigen, die "Date" enthält, aber irgendwie Excel nicht übereinstimmt Das Ergebnis, nach dem ich suche, ich weiß nicht, ob es daran liegt, dass diese Zelle passwortgeschützt ist. Hier ist mein Code:Excel VBA nicht finden die Zelle wollte

SummarySheet.Range("C" & NRow).Value = WorkBk.Worksheets(2).Cells.Find("Fecha de ", After:=Range("I110")).Offset(0, 0) 

Und selbst wenn ich Excel sagen, es sieht nach I110, das erste Ergebnis auf Zelle AU55 ist .. (Der Offset 0,0 ist beabsichtigt, um zu sehen, was es zu finden)

Kann jemand helfen.

+0

angenommen werden Sie haben nicht angegeben, welches Blatt der 'After' betrachtet, so dass es das derzeit aktive Blatt verwendet. Wechseln Sie zu 'After: = WorkBk.Worksheets (2) .Range (" I110 ") .....'. Seien Sie auch vorsichtig bei der Verwendung von 'Worksheets (2)' - wenn Sie Ihre Blätter neu anordnen, wird das zweite Blatt anders sein, also verwenden Sie am besten den Blattnamen. –

Antwort

2

versuchen

With WorkBk.Worksheets(2) 
    SummarySheet.Range("C" & NRow).Value = .Cells.Find("Fecha de ", After:=.Range("I110"), LookIn:=xlValues, lookat:=xlWhole, matchacse:=False).Offset(0, 0) 
End With 

und haben:

  • Range("I110") gehören derselben Arbeitsmappe und Arbeitsblatt des Cells Sie suchen durch

  • alle relevanten Find() (LookAt, LookIn , ..) Argumente explizit angegeben, sonst würden sie mit ihrer letzten Einstellung sogar von Excel UI

Verwandte Themen