LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Arrays and "For" "Next" loops

On Mar 27, 10:07 pm, Tom Ogilvy
wrote:
maybe something like this assuming the code is in a userform module or in a
worksheet module:

' at the top of the module:
Dim Jobs(22) As String

Private Sub CommandButton1_Click()\

Dim I as long, J as long
Dim K as Long, L As Integer

Jobs(0) = "Joe"
Jobs(1) = "Bob"
Jobs(2) = "Steve"
Jobs(3) = "Ray"
Jobs(4) = "Tim"
Jobs(5) = "Jim"
Jobs(6) = "Kelly"
Jobs(7) = "Rich"
Jobs(8) = "Tom"
Jobs(9) = "David"
Jobs(10) = "John"
Jobs(11) = "Chuck"
Jobs(12) = "Tracy"
Jobs(13) = "Michelle"
Jobs(14) = "Kathy"
Jobs(15) = "Chris"
Jobs(16) = "Andrea"
Jobs(17) = "Jason"
Jobs(18) = "Yvette"
Jobs(19) = "ALex"
Jobs(20) = "Tricia"

For I = 0 To 6
ComboBox4.AddItem (Jobs(I))
Next I

For J = 7 To 12
ComboBox1.AddItem (Jobs(J))
Next J

For K = 13 To 18
ComboBox2.AddItem (Jobs(K))
Next K

For L = 19 To 20
ComboBox3.AddItem (Jobs(L))
Next L

End Sub

Private Sub CommandButton3_Click()
Dim i as Long, j as Long
dim rng1 as Range, rng2 as Range
Dim rng3 as Range, rng3a as Range
Dim rng4 as Range, rng4a as Range

set rng1 = sheet3.Range("D91")
set rng2 = Sheet1.Range("A98") ' "29 120"
set rng3 = Sheet3.Range("B91")
set rng3a = Sheet1.Range("C98:D98")
set rng4 = Sheet3.Range("C91")
set rng4a = Sheet1.Range("E98:F98")
for j = 1 to 4
set cbox = me.Controls("Combobox" & j)
for i = lbound(Jobs) to Ubound(Jobs)
if jobs(i) = cbox.Value then
rng1.offset(i,0) = jobs(i)
rng2.Value = "29 120"
rng3.offset(i,0).Value = Application.Sum(rng3a)
rng4.offset(i,0).Value = Application.Sum(rng4a)
end if
Next i, j
end sub

--
Regards,
Tom Ogilvy



" wrote:
Hello. I am new to this group so please provide some constructive
criticism if I make a mistake as I will be happy to correct any that I
might make.


I have created some combo boxes using arrays as shown below


Private Sub CommandButton1_Click()
Current_Date


Dim Jobs(22) As String
Dim I, J, K, L As Integer


Jobs(0) = "Joe"
Jobs(1) = "Bob"
Jobs(2) = "Steve"
Jobs(3) = "Ray"
Jobs(4) = "Tim"
Jobs(5) = "Jim"
Jobs(6) = "Kelly"
Jobs(7) = "Rich"
Jobs(8) = "Tom"
Jobs(9) = "David"
Jobs(10) = "John"
Jobs(11) = "Chuck"
Jobs(12) = "Tracy"
Jobs(13) = "Michelle"
Jobs(14) = "Kathy"
Jobs(15) = "Chris"
Jobs(16) = "Andrea"
Jobs(17) = "Jason"
Jobs(18) = "Yvette"
Jobs(19) = "ALex"
Jobs(20) = "Tricia"


For I = 0 To 6
ComboBox4.AddItem (Jobs(I))
Next I


For J = 7 To 12
ComboBox1.AddItem (Jobs(J))
Next J


For K = 13 To 18
ComboBox2.AddItem (Jobs(K))
Next K


For L = 19 To 20
ComboBox3.AddItem (Jobs(L))
Next L


End Sub


With these arrays, if the person using this form selects a certain
name, I want to be able to place that name in a certain cell on
another sheet of this workbook starting from cell "D91" and place any
other names in cells that, when using their index number in the array,
add that number to cell "D91" to correctly place any other name.


I started doing so using case statements as shown below


Private Sub CommandButton3_Click()
Select Case ComboBox1.Value
Case "Joe"
Sheet1.Range("A98").Value = "29 120"
Sheet3.Range("D91").Value = "Joe"
Sheet3.Range("B91").Value =
Application.WorksheetFunction.Sum(Sheet1.Range("C9 8:D98"))
Sheet3.Range("C91").Value =
Application.WorksheetFunction.Sum(Sheet1.Range("E9 8:F98"))


Case "Bob"
Sheet1.Range("A98").Value = "29 120"
Sheet3.Range("D92").Value = "Bob"
Sheet3.Range("B92").Value =
Application.WorksheetFunction.Sum(Sheet1.Range("C9 8:D98"))
Sheet3.Range("C92").Value =
Application.WorksheetFunction.Sum(Sheet1.Range("E9 8:F98"))


End Select


But I wish not to do that with all 20 names. I want to use a for next
loop to replace all the case statements as it would make for more lean
programming and a lot less work for me. Does anyone have any
suggestions?? The help would be greatly appreciated- Hide quoted text -


- Show quoted text -


In regards to the line "Set cbox = Me.Controls("Combobox" & j)",
unforutnately and for some unknown reason I get a "compile error"
"Method or data member not found". Upon further review, I noticed
that Controls collection is not available. Any reason why it would
not be available????

 
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
Excel - Golf - how to display "-2" as "2 Under" or "4"as "+4" or "4 Over" in a calculation cell Steve Kay Excel Discussion (Misc queries) 2 August 8th 08 01:54 AM
change "true" and "false" to "availble" and "out of stock" inthestands Excel Worksheet Functions 2 July 19th 07 07:05 PM
HELP on "left","right","find","len","substitute" functions serene83 Excel Discussion (Misc queries) 5 June 27th 06 02:23 AM
Count occurences of "1"/"0" (or"TRUE"/"FALSE") in a row w. conditions in the next BCB New Users to Excel 7 May 13th 06 10:02 PM
If changed array formula reduce ""\""\""\ - signs to #Missing, will it make ... Maria J-son[_2_] Excel Programming 2 March 5th 06 12:20 PM


All times are GMT +1. The time now is 04:10 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"