Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default help with array

Hi All,

In Excel 2003 I'm trying to make a variable an array and store the
values entered by a user using an inputbox and I'm failing badly.....
below is what I tried but it does not work so how do I do that?
thanks
bobh.

'input looks like this -- 3,8,19,21,36
Dim PRange() As Integer
PRange() = InputBox("Enter up to 5 page nbr's to print, seperated
by a comma( , )", "Enter Page Nbrs")
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 173
Default help with array

I don't use 2003, but this worked for me in 2010:

Dim PRange() As Variant
PRange() = Application.InputBox("Enter up to 5 page nbr's to print, " & _
"using this format:" & vbCr & vbCr & _
"{Number_1, Number_2, etc.}", "Enter Page Nbrs", "{3,8,19,21,36}", , , , , 64)
'Below line prints inputbox results to Sheet1 row 1
Sheet1.Range("A1:E1").Value = PRange

Ben
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default help with array

On Oct 23, 3:24*pm, Ben McClave wrote:
I don't use 2003, but this worked for me in 2010:

Dim PRange() As Variant
* *PRange() = Application.InputBox("Enter up to 5 page nbr's to print, " & _
* * "using this format:" & vbCr & vbCr & _
* * "{Number_1, Number_2, etc.}", "Enter Page Nbrs", "{3,8,19,21,36}", , , , , 64)
'Below line prints inputbox results to Sheet1 row 1
* * Sheet1.Range("A1:E1").Value = PRange

Ben


thanks for your reply, it works :) , looking to resolve having to
type the { } in the inputbox
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default help with array

Try...

Dim vPageNums As Variant, sPageNums As String, n As Long

'Get the values...
sPageNums = InputBox("Enter up to 5 page nbr's to print, seperated
by a comma(ie: 1,3,5,7,9)", "Enter Page Nbrs")

'Create the array...
vpageNums = Split(sPageNums, ",")

'Do stuff...
For n = LBound(vPageNums) To UBound(vPageNums)
Debug.Print vPageNums(n)
Next 'n

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default help with array

On Oct 23, 6:09*pm, GS wrote:
Try...

* Dim vPageNums As Variant, sPageNums As String, n As Long

* 'Get the values...
* sPageNums = InputBox("Enter up to 5 page nbr's to print, seperated
by a comma(ie: 1,3,5,7,9)", "Enter Page Nbrs")

* 'Create the array...
* vpageNums = Split(sPageNums, ",")

* 'Do stuff...
* For n = LBound(vPageNums) To UBound(vPageNums)
* * Debug.Print vPageNums(n)
* Next 'n

--
Garry

Free usenet access athttp://www.eternal-september.org
ClassicVB Users Regroup!
* * comp.lang.basic.visual.misc
* * microsoft.public.vb.general.discussion


Thanks, it works great :) it is what I was hoping to find. Here's
what I ended up with in case anyone else is looking for something
like this


Sub PrintPages()
'
Dim vPgNums As Variant, sPgNums As String, n As Long

'Get the values from the user
sPgNums = InputBox("Enter up to 5 page nbr's to print, seperated by
a comma(ie: 1,5,9,14,21)", "Enter Page Nbrs")

'check to be sure the user entered something
If Len(sPgNums & "") = 0 Then
Exit Sub
Else
'create an array of the values entered
vPgNums = Split(sPgNums, ",")

'get each page nbr and print it
For n = LBound(vPgNums) To UBound(vPgNums)
ActiveWindow.SelectedSheets.PrintOut From:=vPgNums(n),
To:=vPgNums(n), Copies:=1
Next 'n
End If

End Sub


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default help with array

Here's my (commented) approach to your solution:

Sub PrintPages()
'
Dim vPgNums As Variant, sPgNums As String, n As Long

'Get the values from the user
sPgNums = InputBox("Enter up to 5 page nbr's to print, seperated by
a comma(ie: 1,5,9,14,21)", "Enter Page Nbrs")

''''''''''''''''''''''''''''''''''''''''''''
'This block isn't necessary because printout
'will only happen if user entered page numbers.

'**Also, I don't get why you add an empty
'string to the variable before testing its length**
' If Len(sPgNums & "") = 0 Then
' Exit Sub
' Else
''''''''''''''''''''''''''''''''''''''''''''
'Make sure user didn't cancel
If Len(sPgNums) 0 Then
'create an array of the values entered
vPgNums = Split(sPgNums, ",")

'get each page nbr and print it
For n = LBound(vPgNums) To UBound(vPgNums)
ActiveWindow.SelectedSheets.PrintOut From:=vPgNums(n),
To:=vPgNums(n), Copies:=1
Next 'n
End If

End Sub


Note that you could also pass sPgNums as the 'Pages' parameter

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion


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
Prevent cell/array references from changing when altering/moving thecell/array nme Excel Discussion (Misc queries) 1 September 19th 08 01:53 PM
Redimming an array dynamically assigned from range (how to redim first dimension of a 2-D array? /or/ reverse the original array order) Keith R[_2_] Excel Programming 3 November 13th 07 04:08 PM
meaning of : IF(Switch; Average(array A, array B); array A) DXAT Excel Worksheet Functions 1 October 24th 06 06:11 PM
Array problem: Key words-Variant Array, single-element, type mismatch error davidm Excel Programming 6 November 9th 05 05:54 AM
Array problem: Key words-Variant Array, single-element, type mismatch error davidm Excel Programming 1 November 8th 05 04:21 AM


All times are GMT +1. The time now is 06:30 PM.

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

About Us

"It's about Microsoft Excel"