0

過去にこのコードを使用したことがありますが、今日は何らかの理由で機能していません。インターネットで回答を探しましたが、読んだ内容から、InputBox は正しく設定されています。ハードコードされた範囲を使用すると、メッセージボックスは正しいセル値を返しますが、入力ボックスを使用すると値が返されません。

私は VBA でのコーディングにかなり慣れていませんが、これは簡単に修正できるようです。うまくいけば、誰かが助けることができます:)

Dim rRng As Range
Dim rCell As Range

Set rRng = Application.InputBox(Prompt:="Select Cells to check", Type:=8)
'Set rRng = Sheets("Table 3-1").Range("F11:F13")
For Each rCell In rRng.cells
    a = rCell.Value
    MsgBox "Cell Value is: " & a
Next
4

2 に答える 2

0

値を含むセルを選択していることを確認してください。あなたのコードは問題なく動作します。マクロを実行するときは、適切なシートにいることを確認してください。

于 2013-10-23T22:58:08.877 に答える
0
  • rRngを使用して、変数の値が正しく設定されているかどうかを確認しますIf rRng Is Nothing Then
  • ワークブックに不要な参照がないことを確認してください。
  • VBA IDE > Standard tool bar > Goto Debug > Compile VBA code考えられる問題を強調する場合があります。

.

  Sub test()

    Dim rRng As Range
    Dim rCell As Range

    On Error Resume Next
    Set rRng = Application.InputBox(Prompt:="Select Cells to check", Type:=8)
    On Error GoTo 0

    If rRng Is Nothing Then
        MsgBox "No Range selected"
        Exit Sub
    End If

    For Each rCell In rRng.Cells
        a = rCell.Value
        MsgBox "Cell Value is: " & a
    Next

End Sub
于 2013-10-24T03:17:56.423 に答える