这就是我所拥有的,所以 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
用这个:
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
End Sub
&运算符在 VBA 中进行连接。
你应该像这样格式化它:
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()您要查找的内容中。
这对你会更好吗?当 i 的值在循环代码中开始变化时,我总是遇到问题
For i = 60 To 63
With Range("H" & i)
.Select
.AddComment
.Comment.Visible = False
.Comment.Text Text:=""
end with
Next
End Sub