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

Excel 如何将单元格与包含数字的变量进行比较?(VBA),excel,vba,Excel,Vba,我在Excel中有其他列填写的列。我使用“WHERE”子句查找特定的` 我的列[期间]可以是0、1、2或3 我使用从0到3的计数器j选择其中一个,但是当我这样做时,[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"

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

  • 我的列[期间]可以是0、1、2或3
  • 我使用从0到3的计数器j选择其中一个,但是当我这样做时,
    [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转换为字符串,在循环之前使用:
k=CStr(j)
,然后使用
[Period]=k
,但仍然不起作用

请注意,当我使用
[Period]=0
时,它工作得非常好。该错误具体发生在
j
附近

有什么想法吗

您的“j”不能在引号中,因为它是一个变量。该查询将“j”解读为之前的字母“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 & ") ;")