0

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

For i = 60 To 63

    Range("Hi").AddComment
    Range("Hi").Comment.Visible = False
    Range("Hi").Comment.Text Text:=""
    i = i + 1
    Range("Hi").Select
    i = i - 1
    Next
End Sub
4

4 回答 4

1

用这个:

Range("H" & i)

正如你写的那样,"Hi"不使用变量 i 因为你把它放在引号中。

于 2012-07-27T13:53:18.503 回答
0

你需要这样做:

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 中进行连接。

于 2012-07-27T13:53:18.317 回答
0

你应该像这样格式化它:

    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是一个变量。像 Excel 这样的双引号内的任何内容都"Hi"将读取为一串文本。

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

这意味着每次循环运行时,Excel 都会读取它"H" and i并将其转换为“H1”、“H2”、“H3”、....“H60”,然后将其输入到Range()您要查找的内容中。

于 2012-07-27T13:53:38.383 回答
0

这对你会更好吗?当 i 的值在循环代码中开始变化时,我总是遇到问题

For i = 60 To 63      
    With Range("H" & i)
        .Select 
        .AddComment     
        .Comment.Visible = False     
        .Comment.Text Text:=""  
    end with
Next 
End Sub 
于 2012-07-27T14:17:41.510 回答