2015-10-20 52 views
0

我正在檢查從A3和向下的單元格是否爲空,然後我想將公式放置到單元格E4並向下找到空單元格。語法幫助Excel腳本VB

腳本我與想是這樣的一個:

Sub avg() 
Dim dat As Variant 
Dim rng As Range 
Dim i As Long 
i = 3 

Set rng = Range("A3:A10") 
dat = rng 
For i = LBound(dat, 1) To UBound(dat, 1) 
    If dat(i, 1) <> "" Then 
     rng(i + 1, 5).FormulaR1C1 = "=wwAggregate(""KOSTAS-PC"", Data!R3C1,""Res1000"",'5min REPORT'!R3C1,'5min REPORT'!R4C1,""AVG"","""")" 
    End If 
Next 
End Sub 

我的問題是在公式行,我需要dynamicaly改變「5分鐘報告」 R3C1爲「5分鐘報告」 R3Ci和「! 5分鐘報告'!R4C1到'5分鐘報告'!R3Ci + 1。

這個我試過用&我,但所有我得到是一個字符串,而不是「R3C3」「我R3C &」等

"=wwAggregate(""KOSTAS-PC"", Data!R3C1,""Res1000"",'5min REPORT'!R3C&i,'5min REPORT'!R4C&i+1,""AVG"","""")" 

我只是失去了所有這些「」

任何幫助表示讚賞。

回答

2

要與R3C i替換R3C1(即計數器變量的當前值,嘗試

For i = LBound(dat, 1) To UBound(dat, 1) 
    If dat(i, 1) <> "" Then 
     rng(i + 1, 5).FormulaR1C1 = "=wwAggregate(""KOSTAS-PC"", Data!R3C " & i & ",""Res1000"",'5min REPORT'!R3C" & i & ",'5min REPORT'!R4C1,""AVG"","""")" 
    End If 
Next 

的語法在這篇文章中突出顯示了相當不錯的字符串和變量是如何不同。

我注意到最後一個單元格參考仍然爲R4C1您可能還需要將該列參考調整爲i變量也很難分辨沒有上下文

請記住在VBA中,如果它在字符串中,則需要複製雙引號。如果雙引號需要在字符串的開頭或結尾,則需要對其進行三重複制。使用i = 7時,上述公式將返回

=wwAggregate("KOSTAS-PC", Data!R3C7,"Res1000",'5min REPORT'!R3C7,'5min REPORT'!R4C1,"AVG","") 
+0

謝謝。看來我需要在字符「&」之間加空格。我試圖沒有空格,我得到語法錯誤。 – Kostas