I am trying to loop through a user input range in a sub to check if all the values are numbers.
The if statement checking if the value is numeric always executes and this code goes into an infinite loop.
A secondary problem of much lesser importance is that the error catching has an exit sub statement that is being ignored.
Sub Select_Data_Validation_Range()
On Error GoTo ErrCatcher
Dim Stage_Range As Range
Dim cell As Range
'This is where the user is propmeted to input the range
Set Stage_Range = Application.InputBox("Please Select the apporiate range for the data validation", Type:=8)
'This loop should be looping though each cell in the selected range
For Each cell In Stage_Range
'If the value in the cell is not a number then an error message should be given and the sub will be called again
If IsNumeric(cell.Value) = False Then:
MsgBox "The Range Can contain only numbers"
Select_Data_Validation_Range
Next cell
Exit Sub
ErrCatcher:
'Err.Number 424 occurs when some clicks the x buttom on the input box
If Err.Number = 424 Then
MsgBox "Thanks for using the sub", , "Exit"
'After this error I want to exit the sub but instead the sub goes back to the for loop and continues that.
Exit Sub
'Tryig to catch all other errors to prevent the error window from popping up
ElseIf Err.Number <> 424 Then
MsgBox "Exited Sub with unknown error"
'After this error I want to exit the sub but instead the sub goes back to the for loop and continues that.
Exit Sub
End If
End Sub
What the user selected range should look like

What should happen if there is a non-numeric value in the range

Select_Data_Validation_Rangeinside theIf IsNumeric(cell.Value) = False Thenstatement. You never leave the master loop once you hit a non-numeric value.