2011-08-17 3 views
0

Je reçois une erreur avec cette instruction.Valeur ajoutée Erreur définie par l'application ou définie par l'objet

If Sheets("P1").Range(Cells(rngUcell.Row, 11)).Value <> "" And _ 
    Sheets("P1").Range(Cells(rngUcell.Row, 12)).Value <> "" Then 

Quand il frappe le chèque que je reçois

« définie par l'application ou d'un objet défini erreur »

La déclaration obtient les valeurs correctement, si je passe la souris sur chaque plage , le premier a stocké "R" et le second a stocké "3". Donc, par la logique, il devrait exécuter l'instruction if car elles ne sont pas vides.

+1

Essayez les découpant dehors. Est-ce que l'un compare, puis l'autre. Cela aidera à identifier le problème. –

Répondre

3

Essayer (Supprimer la plage() puisque les cellules() est déjà de retour une gamme))

If Sheets("P1").Cells(rngUcell.Row, 11).Value <> "" And Sheets("P1").Cells(rngUcell.Row, 12).Value <> "" Then 
+0

C'était tout. J'ai utilisé Range (Cellules ... etc) avant et je n'ai jamais reçu d'erreur, je n'ai pas réalisé que ce que je disais était redondant. Merci Man. – jz3

+0

L'autre erreur utilisant la syntaxe d'origine était que vous faisiez référence à l'objet plage dans l'objet Feuilles ("P1") et les cellules à l'intérieur de la feuille active. Pour référencer correctement les cellules à l'intérieur d'une plage comme vous vouliez le faire, utilisez Sheets ("P1"). Range (Sheets ("P1"). Cells (rngUcell.Row, 11)). – Brad

Questions connexes