ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'SeeChange SIT Report'!R1C1:R100C7,7,FALSE)"
Da das eine Zeichenkette ist (eingeschlossen zwischen zwei Anführungszeichen (") kann man nicht so einfach die Variable reinsetzen. VBA wüsste nicht ob es eine Variable ist oder einfach nur Text. Darum muss man in so einem Fall Informationen verketten/verbinden (also mehrere Teile zu einer einzigen Zeichenkette).
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'SeeChange SIT Report'!R1C1:R" & SCrows & "C7,7,FALSE)"
Zeichenketten werden mit dem Et-Zeichen (&) in VBA verbunden. Da SCrows vom Datentyp her eigentlich ein Zahl ist, passiert hier in VBA noch ein Schritt automatisch. Der Datentyp wird von Integer in String autom. umgewandelt. Eigentlich steht da also:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'SeeChange SIT Report'!R1C1:R" & CStr(SCrows) & "C7,7,FALSE)"
Die Typenkonvertierung in einen String mit CStr() ist aber wie gesagt nicht notwendig. Dient hier nur als Randinfo.
LG
|