2017-03-17 6 views
0

Ich habe einige Probleme beim Anwenden einer FORMULAR1C1 auf einen Bereich. Dies ist der Code i verwendet worden:Runtime Error 1004 Auf Formel R1C1 vba

Range("AE6:AE" & conter).FormulaR1C1 = "=VLOOKUP(RC[-28],'[" & namebook & "]" & namesheet & "'!C1:C4,4,FALSE)" 

wo Conter die Anzahl der Zeilen ist, die die Formel wird angewendet wird, ist namebook der Name des woorkbook (ohne Pfad) und namesheet ist der Name des Blatts, die suche die info nach dem vlookup. der Grund, dass ich eine Variable verwendet, ist, dass die Datei täglich aktualisieren und ändern Sie den Namen wegen des Datums. Wenn ich das ausführen bekomme ich den Laufzeitfehler 1004 was kann ich das lösen? Danke

+1

Können Sie uns zeigen, wie Sie 'conter' erklärt,' namebook' und 'namesheet'? (auch das ist kein Tippfehler, richtig, "conter"?) – BruceWayne

+0

danke für deine antwort BruceWayne ich habe conter als long, namebook und namesheet als string deklariert. – Ram

+0

Wie sind sie gesetzt, IE 'conter = 3'? – BruceWayne

Antwort

0

Es ist besser von Ihnen, mit einer Art von Range Stick.

Sie wollen FormulaR1C1 verwenden, und Ihre ersten VLOOKUP Parameter sind RC[-28], aber die zweit Sie verwenden C1:C4.

Sie haben auch ein paar "extra" ', die entfernt werden müssen.

Ändern Sie den Code in die Zeile unter:

Range("AE6:AE" & conter).FormulaR1C1 = "=VLOOKUP(RC[-28],[" & namebook & "]" & namesheet & "!R1C3:R4C3,4,FALSE)" 
+0

Es hat mich auch verwirrt, aber C1: C4 ist gültige RC-Notation. – SJR

+0

@SJR true, aber immer noch denke ich, es ist besser, mit einem Stil zu bleiben, das war meine Empfehlung. Der Fehler (von meinen Tests) ist in dem Extra "" in seiner Formel –

Verwandte Themen