0

我过去曾使用过此代码,但今天由于某种原因它无法正常工作。我已经在互联网上搜索了答案,并且从我读过的内容来看,我的 InputBox 设置正确。当我使用硬编码范围时,我的 messageBox 返回正确的单元格值,但是当我使用输入框时,不返回任何值。

我对在 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
  • 通过使用检查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 回答
0

确保您选择了包含值的单元格。你的代码工作得很好。确保在运行宏时位于正确的工作表上。

于 2013-10-23T22:58:08.877 回答