inputbox error when clicking cancel

A

ADK

If someone uses this code, but clicks cancle on the inputbox you get a code
error. What cacode can be added to prevent this error?

Sub SelectRange()
Dim UserRange As Range
Set UserRange = Application.InputBox( _
prompt:="Please input or select a range", Type:=8)
UserRange.Font.Bold = True
End Sub
 
T

Tom Ogilvy

Sub SelectRange()
Dim UserRange As Range
On Error Resume Next
Set UserRange = Application.InputBox( _
prompt:="Please input or select a range", Type:=8)
On Error goto 0
if not userrange is nothing then
UserRange.Font.Bold = True
end if
End Sub

I have a little different take on this than Steve.
There are many many errors associated with the RefEdit control. Far more
than this error with Application.Inputbox. I would be more inclined to check
the sheet for a situation that uses the troublesome conditional formatting
and put up the inputbox when it isn't a problem.
 
D

Die_Another_Day

Sub SelectRange()
Dim UserRange As Range
On Error Resume Next
Set UserRange = Application.InputBox( _
prompt:="Please input or select a range", Type:=8)
If UserRange is Nothing then Exit Sub
UserRange.Font.Bold = True
On error Goto 0
End Sub

Charles Chickering
 
A

ADK

Ok, the error part seems to be set but the code is not using the selected
cell at the inputbox prompt ...it is using the cell row previous to the
macro run. help!

Private Sub InsertlineButton1_Click()
Dim CellOne As Range
On Error Resume Next
Set CellOne = Application.InputBox( _
prompt:="Please input or select a cell which will be the row below
the new inserted row", Type:=8)
If CellOne Is Nothing Then
MsgBox "It appears as if you pressed cancel!"
End If
If CellOne Is Nothing Then
Exit Sub
Else
Set CellOne = ActiveCell

If CellOne.Value = 1 Then

MsgBox "You can not insert a row above Number 1", 64, "Invalid"

Exit Sub

End If
Range("A" & ActiveCell.Row).Select
ActiveCell.EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
Selection.FillDown
End If
End Sub
 
T

Tom Ogilvy

Your code is written to use the activecell and not the cell selected. The
Application.InputBox function does not change the activecell.

Private Sub InsertlineButton1_Click()
Dim CellOne As Range
On Error Resume Next
Set CellOne = Application.InputBox( _
prompt:="Please input or select a cell which will be" & _
"the row below the new inserted row", Type:=8)
If CellOne Is Nothing Then
MsgBox "It appears as if you pressed cancel!"
Exit Sub
Else
If CellOne.Value = 1 Then
MsgBox "You can not insert a row above Number 1", 64, "Invalid"
Exit Sub
End If
CellOne.EntireRow.Insert
CellOne.Offset(-1, 0).FillDown
End If
End Sub

--
Regards,
Tom Ogilvy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top