将被声明为整数的变量分配给一个公式

3
我是一个有用的助手,可以为您翻译文本。

我正在尝试在公式中使用变量,该变量在代码中先前已声明为整数,有人能帮我解决这个问题吗?

基本上我有:

  Dim R_count As Integer

  R_count = Range("C" & Rows.Count).End(xlUp).Row

这段代码用于计算行数。然后我试图在min公式中使用变量R_count作为我的范围底部,例如:

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

但是VBa在公式中无法将R_count识别为整数。

顺便提一下:最好声明 Dim R_count As Long,因为您可能会超过整数类型的最大值(大约为32K)。 - user3598756
2个回答

1
你为范围分配的值是一个字符串,因此你需要将字符串公式与变量连接起来。请尝试以下内容:
Range("n2").FormulaR1C1 = "=min((RC[-9]:R[" & R_count & "]c[-9]))" 在VBA中进行连接

嗨 Chase,我仍然在编译时遇到错误...非常感谢您的时间。 - Km1
@Km1 我猜你使用了未编辑的公式。确保你刷新了屏幕。这应该可以解决问题。 - Scott Craner

0

你不能直接在公式中引用 VBA 中的变量,因为公式是一个字符串,在不知道你的代码的不同位置进行评估。你需要像这样在公式中插入值:

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

这将生成一个公式,看起来像这样(假设在此示例中R_Count等于42)
=min((RC[-9]:R[42]c[-9]))

这很好运行......因此,基本上通过使用“&xxxx&”,您将字符串转换为先前分配的整数?非常感谢您的时间。 - Km1
@Km1 xxxx 可以是(几乎)任何变量。它将自动将该值转换为字符串。 - litelite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接