Visual Basic Excel For在多个单元格中循环如何使用范围内的计数器

Visual Basic Excel For在多个单元格中循环如何使用范围内的计数器,excel,vba,loops,for-loop,Excel,Vba,Loops,For Loop,这就是我所拥有的,所以H后面需要跟上单元格的编号,我想用这里的计数器I,但它不起作用。我做错了什么?:) 您需要这样做: For i = 60 To 63 Range("H" & i).AddComment Range("H" & i).Comment.Visible = False Range("H" & i).Comment.Text Text:="" i = i + 1 Range("H" & i).Select

这就是我所拥有的,所以H后面需要跟上单元格的编号,我想用这里的计数器I,但它不起作用。我做错了什么?:)


您需要这样做:

For i = 60 To 63

    Range("H" & i).AddComment
    Range("H" & i).Comment.Visible = False
    Range("H" & i).Comment.Text Text:=""
    i = i + 1
    Range("H" & i).Select
    i = i - 1
    Next
End Sub
&
运算符在VBA中进行连接。

使用以下方法:

Range("H" & i)

在编写时,
“Hi”
不使用变量i,因为您将其放在引号中。

您应该将其格式化为以下格式:

    For i = 60 To 63

        Range("H" & i).AddComment
        Range("H" & i).Comment.Visible = False
        Range("H" & i).Comment.Text Text:=""
        i = i + 1
        Range("H" & i).Select
        i = i - 1
    Next i
End Sub
原因是字母
H
是一个字符,
i
是一个变量。双引号
“Hi”
中的任何内容(如Excel)都将读取为一个文本字符串

当Excel读取引号
i
之外的单词或字母时,它将假定它是一个变量。
&
字符将这两个字符作为文本连接在一起


这意味着每次循环运行时,Excel都会将其读取为
“H”和i
,并将其转换为“H1”、“H2”、“H3”。。。。“H60”并将其输入到您正在寻找的
范围()

这对您更合适吗?当I的值在循环代码中开始改变时,我总是遇到问题

For i = 60 To 63      
    With Range("H" & i)
        .Select 
        .AddComment     
        .Comment.Visible = False     
        .Comment.Text Text:=""  
    end with
Next 
End Sub 
For i = 60 To 63      
    With Range("H" & i)
        .Select 
        .AddComment     
        .Comment.Visible = False     
        .Comment.Text Text:=""  
    end with
Next 
End Sub