2016-05-11 50 views
3

我想在公式中使用一個變量,它之前已被聲明爲代碼中的整數,有人可以幫我解決這個問題嗎?將一個變量聲明爲整數公式

所以基本上我有:

Dim R_count As Integer 

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

它計算行數。然後我試圖使用variable R_countmin公式爲我的底部區間,如:

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

但VBA不讀R_count如公式中的整數。

+0

爲一個側面說明:你最好聲明'Dim R_count As Long',因爲你可以超過整數類型的最大值(約32K) – user3598756

回答

1

您爲您的範圍指定的值是一個字符串,因此您需要將字符串公式與變量連接起來。請嘗試以下操作:

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

Concatenating in VBA

+0

謝謝@ScottCraner,我更新了我的迴應。 – Chase

+0

你好大通,我仍然得到一個編譯錯誤...非常感謝你的時間 – Km1

+0

@ Km1什麼是你的編譯錯誤? – Chase

0

你不能直接從VBA引用變量的公式中,因爲這個公式是將在不同的地方進行評估一個字符串,不知道你的代碼。您需要在公式中插入值,像這樣:

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

將產生一個公式,將看起來像這樣(讓我們假設R_Count等於42本例)

=min((RC[-9]:R[42]c[-9])) 
+0

這工作正常.....所以基本上通過使用「&xxxx&」您將字符串轉換爲它以前分配的整數?非常感謝你的時間 – Km1

+0

@ Km1'xxxx'可以(幾乎)任何變量。它將始終將該值自動轉換爲字符串 – litelite