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あり、変数であるためです。"Hi"そのExcelのような二重引用符で囲まれたものはすべて、単なるテキストの文字列として読み取られます。

Excelが引用符の外の単語または文字を読み取る場合、iそれは変数であると見なされます。キャラクターは&2つをテキストとして結合します。

これは、ループが実行されるたびに、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 に答える