2014-05-06 40 views
0

我有一列銷售金額列表,然後是附近的另一列,顯示它是銷售的「YOR」還是退貨的「RE」,我想彙總美元YOR的數字。SUMIF方程在工作表中不與VBA一起工作

我有一個方程式,我試圖用宏插入到工作表中。當您運行宏時,H16中有一個單元格應該填寫總結銷售號碼

有一個名爲CellNumber(Long)的變量,它包含列表中的項目數。 VA05NDump是包含數據的工作表的名稱。

Range("H16").FormulaR1C1 = "SUMIF((VA05NDump!R2C3:VA05NDump!R"&CellNumber&"C3),"YOR",R2C13:R"&CellNumber&"C13) 

當我點擊了在VBA方程它說:「編譯錯誤」預期:語句結束」,並強調這是什麼括號內:‘C3)’]

我已經試圖改變「YOR」到=「YOR」和「= YOR」但是,這並不能改變什麼。

任何幫助將是真棒!

謝謝!

回答

2

試試這個:

Range("H16").FormulaR1C1 = "=SUMIF((VA05NDump!R2C3:VA05NDump!R" & CellNumber & _ 
    "C3),""YOR"",R2C13:R" & CellNumber & "C13)" 

修訂:
1.增加=標誌的前期。
2.雙引號YOR在這個部分:"C3),""YOR"",R2C13:R"Read this,它討論了將雙引號應用於工作表公式的""中的所有字符串的方法。
3.在最後添加缺少的"

+0

感謝您的幫助,完美的工作。我很驚訝我錯過了第一個「=」,但是在我工作時這已經很晚了 – NumberJuan

1

你缺少一個右"在最後,可能在公式的開頭爲=

1

這裏有一個方法,我已經在一個單元格中輸入了一個公式。 這是通過將公式作爲字符串輸入到單元格中完成的。

'Make Formula into a string 
Dim Formula As String 
Formula = "=SUMIF((VA05NDump!R2C3:VA05NDump!R" & CellNumber & _ 
      "C3)," & chr(34) & "YOR" & chr(34) & ",R2C13:R" & CellNumber & "C13)" 

'Activate the desired range 
Range("H16").Activate 

'Enter formula string into active cell 
ActiveCell = Formula 

另外 「CHR(34)」 可被用作」我發現這個幫助創建一個字符串,其中 CHR(34)& 「YOR」 & CHR(34)= 「」 YOR 「」,所以當它進入單元格時,它變成「YOR」

+0

謝謝。這很有用,我將用這種方法重寫一些內容。 – NumberJuan