2013-10-23 58 views
0

我以前使用過這些代碼,但是今天它由於某種原因而不工作。我已經搜索了互聯網尋找答案,並從我已經閱讀我的InputBox設置正確。當我使用硬編碼範圍時,我的messageBox返回正確的單元格值,但是當我使用inputbox時,沒有返回值。Excel VBA 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 
+0

我試着在另一臺電腦上運行這個宏,它工作得很好。任何人都知道我的電腦上發生了什麼? – user2913433

回答

0

確保您已選擇包含值的單元格。你的代碼工作得很好。 確保您在運行宏時位於正確的表單上。

+0

單元格包含值,我想在任何工作簿中使用此宏。當閱讀關於InputBox的MS幫助時,Application.InputBox應該與'Active'工作表一起工作。 – user2913433

+0

你是對的.........你用鼠標設置範圍嗎? –

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