我有一个excel文件 . A列每次都有一个可变的行数,这就是我需要制作动态公式的原因 . 例如;
我想在B1上写“= LEN(B1)”公式 . 当双击单元格的右下角时,它将一直结束,直到A列值结束 . 这就是为什么在所有这个过程之前,我在单元格C1上写了“= COUNT(A:A)” .
在我的VBA中,我想写;
Dim TEMP As String
TEMP = Range("C1").Value
Range("B1").Select
ActiveCell.FormulaR1C1="=+LEN(RC[-1])"
Selection.AutoFill Destination:=Range("B1:TEMP")
但是这个过程有些不对劲 . 因此,我只想在我的VBA中使用单元格值作为范围或字符串或数字 .
感谢您的支持 .
1 回答
两个笔记:
最好始终事先确定对象(工作簿,工作表,范围等)的合格性
当您使用
R1C1
表示法时,您可以直接将公式写入范围(不需要AutoFill
或FillDown
)试试这个:
正如值得一提的那样,你写的方式
Range("B1:TEMP")
并不是正确的语法 . 正确的语法将是Range("B1:B" & TEMP)
,当然,只有当TEMP
确实是一个数值时才会起作用:)