Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default Within the same procedure, can such Inputbox be used more than onc

I use Sub SelectRange() to identify user range. But it keeps returning the
same range even though we get to select range for 3 separate times. If it is
not possible to re-use Sub SelectRange() more than once within the same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is chosen by
users). If possible, pls allow users to select range using inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
€¦.[ instruction_1]
Call SelectRange
€¦.[ instruction_2]
Call SelectRange
€¦.[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default Within the same procedure, can such Inputbox be used more than onc

This works fine. Are you sure that the user is not Cancelling the InputBox?

The other things you might want to do is to null the range before calling
inputbox, as it still holds the value from the previous run, that is Set
UserRange = Nothing, and also you might want to remove the Default to the
InputBox, and remove the implicit option.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
I use Sub SelectRange() to identify user range. But it keeps returning the
same range even though we get to select range for 3 separate times. If it

is
not possible to re-use Sub SelectRange() more than once within the same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is chosen by
users). If possible, pls allow users to select range using inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
..[ instruction_1]
Call SelectRange
..[ instruction_2]
Call SelectRange
..[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default Within the same procedure, can such Inputbox be used more than

Dear Bob,

Thanks for helping but I can't understand.
Can you pls help to modify the sample. I'm a VBA rookie.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This works fine. Are you sure that the user is not Cancelling the InputBox?

The other things you might want to do is to null the range before calling
inputbox, as it still holds the value from the previous run, that is Set
UserRange = Nothing, and also you might want to remove the Default to the
InputBox, and remove the implicit option.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
I use Sub SelectRange() to identify user range. But it keeps returning the
same range even though we get to select range for 3 separate times. If it

is
not possible to re-use Sub SelectRange() more than once within the same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is chosen by
users). If possible, pls allow users to select range using inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
..[ instruction_1]
Call SelectRange
..[ instruction_2]
Call SelectRange
..[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default Within the same procedure, can such Inputbox be used more than

This is what I mean

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
...[ instruction_1]
Call SelectRange
...[ instruction_2]
Call SelectRange
...[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Nothing
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Type:=8)
If Not UserRange Is Nothing Then
UserRange.Select
Else
MsgBox "You cancelled the select"
End If
Exit Sub
Terminate:
End Sub


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
Dear Bob,

Thanks for helping but I can't understand.
Can you pls help to modify the sample. I'm a VBA rookie.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This works fine. Are you sure that the user is not Cancelling the

InputBox?

The other things you might want to do is to null the range before

calling
inputbox, as it still holds the value from the previous run, that is Set
UserRange = Nothing, and also you might want to remove the Default to

the
InputBox, and remove the implicit option.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
I use Sub SelectRange() to identify user range. But it keeps returning

the
same range even though we get to select range for 3 separate times. If

it
is
not possible to re-use Sub SelectRange() more than once within the

same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is chosen

by
users). If possible, pls allow users to select range using inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
..[ instruction_1]
Call SelectRange
..[ instruction_2]
Call SelectRange
..[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default Within the same procedure, can such Inputbox be used more than

Dear Bob & Everyone,

I think I can guess why my codes are failing.

When the 1st Inputbox pops up, I select only a single cell. But when the 2nd
Inputbox pops up, I select a €śrange of cells€ť. I read F1 Help on inputbox
where it says "Type:=8" is "A cell reference, as a Range object". If I read
it correctly, procedure will fail/return error at my 2nd inputbox because I
select a range instead of a single cell.

If there's a better way to get around this constraint, pls share with me.
What I need is 3 inputbox popping up asking for user to specify which range
of cell or cells to work with. Atleast 1 of the 3 inputs will require the
selection of €śrange of cells€ť instead of just a single cell.

Thanks a lot.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This is what I mean

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
...[ instruction_1]
Call SelectRange
...[ instruction_2]
Call SelectRange
...[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Nothing
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Type:=8)
If Not UserRange Is Nothing Then
UserRange.Select
Else
MsgBox "You cancelled the select"
End If
Exit Sub
Terminate:
End Sub


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
Dear Bob,

Thanks for helping but I can't understand.
Can you pls help to modify the sample. I'm a VBA rookie.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This works fine. Are you sure that the user is not Cancelling the

InputBox?

The other things you might want to do is to null the range before

calling
inputbox, as it still holds the value from the previous run, that is Set
UserRange = Nothing, and also you might want to remove the Default to

the
InputBox, and remove the implicit option.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
I use Sub SelectRange() to identify user range. But it keeps returning

the
same range even though we get to select range for 3 separate times. If

it
is
not possible to re-use Sub SelectRange() more than once within the

same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is chosen

by
users). If possible, pls allow users to select range using inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
..[ instruction_1]
Call SelectRange
..[ instruction_2]
Call SelectRange
..[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)








  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default Within the same procedure, can such Inputbox be used more than

Edmund,

That is not your problem. Inputbox can handle a range no problem, just try
this on its own

Dim a
Set a = Application.InputBox("a", Type:=8)
MsgBox a.Address


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
Dear Bob & Everyone,

I think I can guess why my codes are failing.

When the 1st Inputbox pops up, I select only a single cell. But when the

2nd
Inputbox pops up, I select a "range of cells". I read F1 Help on inputbox
where it says "Type:=8" is "A cell reference, as a Range object". If I

read
it correctly, procedure will fail/return error at my 2nd inputbox because

I
select a range instead of a single cell.

If there's a better way to get around this constraint, pls share with me.
What I need is 3 inputbox popping up asking for user to specify which

range
of cell or cells to work with. Atleast 1 of the 3 inputs will require the
selection of "range of cells" instead of just a single cell.

Thanks a lot.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This is what I mean

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
...[ instruction_1]
Call SelectRange
...[ instruction_2]
Call SelectRange
...[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Nothing
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Type:=8)
If Not UserRange Is Nothing Then
UserRange.Select
Else
MsgBox "You cancelled the select"
End If
Exit Sub
Terminate:
End Sub


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
Dear Bob,

Thanks for helping but I can't understand.
Can you pls help to modify the sample. I'm a VBA rookie.

--
Edmund
(Using Excel XP)


"Bob Phillips" wrote:

This works fine. Are you sure that the user is not Cancelling the

InputBox?

The other things you might want to do is to null the range before

calling
inputbox, as it still holds the value from the previous run, that is

Set
UserRange = Nothing, and also you might want to remove the Default

to
the
InputBox, and remove the implicit option.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Edmund" wrote in message
...
I use Sub SelectRange() to identify user range. But it keeps

returning
the
same range even though we get to select range for 3 separate

times. If
it
is
not possible to re-use Sub SelectRange() more than once within the

same
procedure, then pls teach me a way to do so.

In summary, my main procedure needs 3 input from users(range is

chosen
by
users). If possible, pls allow users to select range using

inputbox.

Thanks a lot.

Option Explicit
Dim UserRange As Range

Private Sub MainProc()
Call SelectRange
..[ instruction_1]
Call SelectRange
..[ instruction_2]
Call SelectRange
..[ instruction_3]
End Sub


Private Sub SelectRange()
Dim DefaultRange As String
DefaultRange = Selection.Address
On Error GoTo Terminate
Set UserRange = Application.InputBox _
(Prompt:="Show me which Item Number to work on?", _
Title:="Select Range", _
Default:=DefaultRange, _
Type:=8)
UserRange.Select
Exit Sub
Terminate:
End Sub


--
Edmund
(Using Excel XP)








Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Stop a Procedure from another procedure Ayo Excel Discussion (Misc queries) 1 October 30th 08 01:42 AM
Inputbox and Application.InputBox Maria[_7_] Excel Programming 1 September 20th 04 11:36 AM
Calling a procedure in a procedure Norman Jones Excel Programming 8 August 20th 04 07:53 PM
Calling a procedure in a procedure Don Guillett[_4_] Excel Programming 1 August 17th 04 11:31 PM


All times are GMT +1. The time now is 06:34 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"