如何将单元格与包含数字的variables进行比较? (VBA)

我有Excel中的列,我填写其他列。 我使用“WHERE”子句查找特定的那个

  • 我的专栏[期间]可以是0,1,2或3。
  • 我select其中一个使用计数器j从0到3,但是当我这样做[Period]= j ,这是行不通的。

这是我的原始代码:

 For j = 0 To 3 For i = 1 To iMax If Worksheets("Results").Cells(i, 1) = "Extraction" And Worksheets("Results").Cells(i, 2) = "IDK" And Worksheets("Results").Cells(i, 3) = "DAOUI" Then Compteur = i Set RecT = gConnect.Execute("SELECT Sum([Volume]) FROM [Output$] WHERE ([Entity]=""TREATMENT FACILITIES"" AND [Period]= j) ;") 

所以我试图将j转换为一个string,在循环之前使用: k = CStr(j) ,然后使用[Period]=k ,但仍然不起作用。

请注意,当我使用[Period]=0它完美的作品。 错误是专门围绕着..

任何想法 ?

你的“j”不能在引号中,因为它是一个variables。 查询之前是以字母“j”的forms读取“j”。

 For j = 0 To 3 For i = 1 To iMax If Worksheets("Results").Cells(i, 1) = "Extraction" And Worksheets("Results").Cells(i, 2) = "IDK" And Worksheets("Results").Cells(i, 3) = "DAOUI" Then Compteur = i Set RecT = gConnect.Execute("SELECT Sum([Volume]) FROM [Output$] WHERE ([Entity]=""TREATMENT FACILITIES"" AND [Period]= " & j & ") ;")