vba中用R1C1表达时假如数字是变量,要用字母怎么该表示

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-544],R3C547:R68C548,2,0)",R和C后面的数字都是变量,我想用字母表示,那应该怎么写?请大虾帮帮忙。

RC可能用cells( , )或者用Range(" : ")表示。如
1、A10单元格,表示为cells(10,1)。即cells(行序号,列序号)
2、(A10:D100)单元格区域,表示为Range("A" & 10 & ":D" & 100)
  上面这例举的数字就是朋友所说的变量了。
3、当上述之A和D也是变量时,应得配合着用了。如(A10:D100)也可以表示为
  Range(cells(10,1),cells(100,4))
4、以上是常用的,其实表示方法有很多,要根据具体的情况而有选择性的用之。
你可以把单元格的函数直接复制上来,我帮你改为VBA。追问

可能你没有明白我的意思,我说的是采用R1C1表达的时候如果R和C后面都是用字母表示的变量的情况该怎么解决,虽然你没有帮到我,但还是谢谢你。我已经琢磨明白了,ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[" & -cdt - 2 & "],R3C" & cdt + 5 & ":R120C" & cdt + 6 & ",2,0)"这是我自己编的,可以运行了。

追答

这种方式我怎能不知,但不建议使用。
使用vba的一个重要理由,就是克服数据量大而工作薄每次的变化都要重算致使运行缓慢的弊端

同时也希望朋友您,既然选择了VBA,就要转换思维,脱变自我

追问

但是用cells来编的话,我的程序运行不了,会出现#NAME?错误。

温馨提示:答案为网友推荐,仅供参考
相似回答