ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Capture InputBox vbCancel (https://www.excelbanter.com/excel-programming/416184-capture-inputbox-vbcancel.html)

Rob

Capture InputBox vbCancel
 
Hello, I have the below code that prompts for the qty of rows to be inserted
but when the Cancel button is selected instead of providing a number and
clicking OK I get an error. I was hoping that putting the IF statement in
there would fix it but it did not. How can I fix this?

Thanks in Advance.


Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As Integer

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub



Charlie

Capture InputBox vbCancel
 
Dim i As Long
Dim n As Long

On Error GoTo CancelInput
n = InputBox("No. of Rows")
CancelInput:

For i = 1 To n
Selection.Insert Shift:=xlDown
Next i

P.S. Throw out "Dim ... As Integer" Get in the habit of always using Long.
You won't regret it.

"Rob" wrote:

Hello, I have the below code that prompts for the qty of rows to be inserted
but when the Cancel button is selected instead of providing a number and
clicking OK I get an error. I was hoping that putting the IF statement in
there would fix it but it did not. How can I fix this?

Thanks in Advance.


Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As Integer

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub



Gary Keramidas

Capture InputBox vbCancel
 
i usually use application.inputbox. cancel will return 0

lookup InputBox Method in vb help.


--


Gary


"Rob" wrote in message
...
Hello, I have the below code that prompts for the qty of rows to be inserted
but when the Cancel button is selected instead of providing a number and
clicking OK I get an error. I was hoping that putting the IF statement in
there would fix it but it did not. How can I fix this?

Thanks in Advance.


Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As Integer

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub





Vergel Adriano

Capture InputBox vbCancel
 
Hi Rob,

I believe InputBox will return a null string if user clicks on Cancel. Try
something like this:

Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As String

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
If r = "" Then
MsgBox "user cancelled"
Exit Sub
End If
If Not IsNumeric(r) Then
MsgBox "value must be numeric"
Exit Sub
End If
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub





--
Hope that helps.

Vergel Adriano


"Rob" wrote:

Hello, I have the below code that prompts for the qty of rows to be inserted
but when the Cancel button is selected instead of providing a number and
clicking OK I get an error. I was hoping that putting the IF statement in
there would fix it but it did not. How can I fix this?

Thanks in Advance.


Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As Integer

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub



Rob

Capture InputBox vbCancel
 
Thanks A ton, it's working now.

Cheers.

"Vergel Adriano" wrote:

Hi Rob,

I believe InputBox will return a null string if user clicks on Cancel. Try
something like this:

Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As String

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
If r = "" Then
MsgBox "user cancelled"
Exit Sub
End If
If Not IsNumeric(r) Then
MsgBox "value must be numeric"
Exit Sub
End If
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub





--
Hope that helps.

Vergel Adriano


"Rob" wrote:

Hello, I have the below code that prompts for the qty of rows to be inserted
but when the Cancel button is selected instead of providing a number and
clicking OK I get an error. I was hoping that putting the IF statement in
there would fix it but it did not. How can I fix this?

Thanks in Advance.


Sub AutoInsertRows()

'Shortcut Keystroke CTRL+Shift+A

Dim r As Integer

r = InputBox("How Many Rows?", "Auto-Insert Rows", 1)
i = 0

Do While i < r

If Not r = vbCancel Then

Selection.Insert Shift:=xlDown

i = i + 1

Else

Exit Sub

End If

Loop

End Sub




All times are GMT +1. The time now is 03:16 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com