2014-09-19 148 views
0

我想填充與SUMIFS公式列如果條件匹配。在vba sumifs公式

cell.Offset(0, 2).Value = "=SUMIFS(PickData!E:E,PickData!A:A, _ 
" & cell.Address(Rowabsolute:=False, Column:=False) & ", PickData!C:C, _ 
"Retail",PickData!C:C, PickData!L:L, "Report1.TextBox1.Value")" 

我不能看到我與它PickData查找具體工作中去零售錯| C:C &從TextBox1中的值(這是日期)

任何幫助將是不勝感激。

感謝 鋁

+0

是否要爲單元格設置值或將公式放入單元格中?你目前有一半的另一半。也許你需要改變的是'cell.Offset(0,2).Formula =' – Jeeped 2014-09-19 12:25:39

+0

你也沒有提到.Address函數中的ColumnAbsolute參數:Rowabsolute:= False,Column:= False – Dave 2014-09-19 12:35:33

回答

1

如果你想在單元格的公式,然後嘗試。

cell.Offset(0, 2).Formula = "=SUMIFS(PickData!E:E, PickData!A:A, " _ 
    & cell.Address(0, 0) & ", PickData!C:C, " & Chr(34) & "Retail" & Chr(34) _ 
    & ", PickData!L:L, DATEVALUE(" & Report1.TextBox1.Value & "))" 

這應該給你一個有效的SUMIFS(...)公式。

附錄:再看一下,表單的文本框值可能需要用引號括起來。

cell.Offset(0, 2).Formula = "=SUMIFS(PickData!E:E, PickData!A:A, " _ 
    & cell.Address(0, 0) & ", PickData!C:C, " & Chr(34) & "Retail" & Chr(34) _ 
    & ", PickData!L:L, DATEVALUE(" & Chr(34) & Report1.TextBox1.Value & Chr(34) & "))" 
+0

感謝第二個代碼工作很好:-) – 2014-09-19 15:22:23

+0

@Alan Treanor - 很高興你整理出來。順便說一句,如果你在公式字符串前加一個勾號,它將作爲一個文本字符串寫入單元格,你可以經常看到犯了錯誤的地方。例如'cell.Offset(0,2).Formula =''= SUMIFS(...'。你可以看到使用這種方法創建公式時出了什麼問題(假設你得到的引號內的引號合理正確)。糾正後刪除勾是一個小問題。 – Jeeped 2014-09-19 21:37:58