I'm trying to verify input given via an input box:
Sub copyData()
Dim varNameInput As String
myNameInput = Application.InputBox(prompt:="Enter a sheet name", _
Title:="Sheet Name", Type:=2)
Do While myNameInput = ""
MsgBox "You didn't enter a sheet name!", 16
myNameInput = Application.InputBox(prompt:="Enter a sheet name", _
Title:="Sheet Name", Type:=2)
Loop
If Not myNameInput = False Then
MsgBox myNameInput
End If
Exit Sub
End Sub
This works, however... Because I can't quite translate what's in my mind into VBA, I'm stuck with the following cases which should all trigger a failure MsgBox and repeat the loop:
- If the user enters a white space
- If the user enters a name with a white space
- If the user enters a name that doesn't match any of the sheets in the workbook.
The latter, if I'm not mistaken, I need to do with Intersect, something like (and please correct me if I'm wrong here):
If Not Intersect(myNameInput, Range("A1:A10")) is Nothing Then
... successful match, run necessary code ...
Else
... trigger failure again and go back to loop ...
End If
I just don't know how to translate that into VBA.
And on a slightly different note, can an evaluation contain ORs? For example, If (myNameInput = "" || myNameInput = False || ...etc.) Then
Bookmarks