Vba 将声明为整数的变量赋值给公式

Vba 将声明为整数的变量赋值给公式,vba,Vba,我试图在一个公式中使用一个变量,这个变量以前在代码中被声明为整数,有人能帮我解决这个问题吗 所以基本上我有: Dim R_count As Integer R_count = Range("C" & Rows.Count).End(xlUp).Row 它计算行数。然后我尝试使用min公式中的变量R\u count作为范围的底部,例如: Range("n2").FormulaR1C1 = "=min((RC[-9]:R[&R_count]c[-9]))" 但是VBa不

我试图在一个公式中使用一个变量,这个变量以前在代码中被声明为整数,有人能帮我解决这个问题吗

所以基本上我有:

  Dim R_count As Integer

  R_count = Range("C" & Rows.Count).End(xlUp).Row
它计算行数。然后我尝试使用
min
公式中的
变量R\u count
作为范围的底部,例如:

Range("n2").FormulaR1C1 = "=min((RC[-9]:R[&R_count]c[-9]))"

但是VBa不会将
R\u count
读取为公式中的整数。

为范围指定的值是字符串,因此需要将字符串公式与变量连接起来。请尝试以下操作:

Range(“n2”)。公式1c1=“=min((RC[-9]:R[”&R\u count&“]c[-9])”


您不能在公式中直接引用vba中的变量,因为公式是一个字符串,将在不知道您的代码的其他位置求值。您需要在公式中插入值,如下所示:

Range("n2").FormulaR1C1 = "=min((RC[-9]:R[" & R_count & "]c[-9]))"
这将产生一个如下所示的公式(假设本例中,
R\u Count
等于42)


嗨,蔡斯,我还是有一个编译错误。。。非常感谢你的邀请time@Km1我猜你使用的是未经编辑的公式。确保刷新屏幕。这应该行得通。那行得通。。。。。那么基本上是通过使用“&xxxx&”u将字符串转换为之前分配的整数?非常感谢你time@Km1
xxxx
可以是(几乎)任何变量。它总是会自动将值转换为字符串。这是一个旁注:您最好声明
Dim R\u count为Long
,因为您可能会超过整数类型的最大值(大约32 k)
=min((RC[-9]:R[42]c[-9]))