Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
Goal: Calculate average precipitation based on Month and Year.
Worksheets: "2016" and "2017" Option Buttons: OptionButton1, OptionButton2, OptionButton3, OptionButton4, Form: UserForm1 I have two groups of Option buttons on UserForm1 -- one group under "Month" (Frame1) and one group under "Year (Frame2). I'd like to call a subroutine based on the combination of buttons selected. For example, if a user selects January and selects 2016 (and then clicks "OK"), subroutine "January2016" is called. From there, I'd like to 1) activate sheet "2016" and 2) calculate the average precipitation for January and 3) put the value in the appropriate cell, in this case cell C9. Same for January 2017, etc. Here's what "Form1" looks like. (The zeros are option buttons.) Month Year [OK] O January O 2016 [Cancel] O February O 2017 Here's what the sheet, "2016" looks like. (Sheet "2017" is similar.) -A- -B- -C- 1 Month Date Precip 2 Jan 01/01/17 5 3 Jan 01/15/17 10 4 Jan 01/31/17 15 5 Feb 02/01/17 20 6 Feb 02/15/17 30 7 Feb 02/28/17 40 8 =============================== 9 Jan AvgPrecip _____ 10 Feb AvgPrecip _____ Here's my code. (It works so far but I haven't figured out how to go to the appropriate sheet and calculate the average rainfall.) Sub CommandButton1_Click() If Me.OptionButton1.Value = True And Me.OptionButton3.Value = True Then Call January2016 If Me.OptionButton1.Value = True And Me.OptionButton4.Value = True Then Call January2017 If Me.OptionButton2.Value = True And Me.OptionButton3.Value = True Then Call February2016 If Me.OptionButton2.Value = True And Me.OptionButton4.Value = True Then Call February2017 End Sub Sub CommandButton2_Click() Unload UserForm1 End Sub Sub January2016() MsgBox "January 2016" ' Go to Sheet 2016 and calculate average precipitation for January End Sub Sub January2017() MsgBox "January 2017" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2016() MsgBox "February 2016" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2017() MsgBox "February 2017" ' Go to Sheet 2017 and calculate average precipitation for February End Sub Sub ClearOptionButtons() UserForm1.OptionButton1.Value = False UserForm1.OptionButton2.Value = False UserForm1.OptionButton3.Value = False UserForm1.OptionButton4.Value = False End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
Wow! Talk about doing things the hard way!! Wouldn't it be a lot
simpler/cleaner/easier to use a formula? HowTo: Create 2 local scope Defined Names; 1 for the months col, 1 for the formula that calcs the average... -Select A1 on "2016" and open the Define Name dialog -in the namebox type 2016!ThisMonth -in the RefersTo box type =$A1 -click the 'Add' button -in the namebox type 2016!MonthAvg -in the RefersTo box type =SUMIF(A:A,ThisMonth,C:C)/COUNTIF(A:A,ThisMonth) -click the 'Add' button Repeat this for each sheet. -in colD enter the formula =MonthAvg once for each month you want to avg. (I put it in D4 and D7 for your sample data, but anywhere in a month's range will work!) -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion |
#3
|
|||
|
|||
Quote:
|
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
On Sunday, April 9, 2017 at 1:44:49 PM UTC-6, Robert Logan wrote:
Goal: Calculate average precipitation based on Month and Year. Worksheets: "2016" and "2017" Option Buttons: OptionButton1, OptionButton2, OptionButton3, OptionButton4, Form: UserForm1 I have two groups of Option buttons on UserForm1 -- one group under "Month" (Frame1) and one group under "Year (Frame2). I'd like to call a subroutine based on the combination of buttons selected. For example, if a user selects January and selects 2016 (and then clicks "OK"), subroutine "January2016" is called. From there, I'd like to 1) activate sheet "2016" and 2) calculate the average precipitation for January and 3) put the value in the appropriate cell, in this case cell C9. Same for January 2017, etc. Here's what "Form1" looks like. (The zeros are option buttons.) Month Year [OK] O January O 2016 [Cancel] O February O 2017 Here's what the sheet, "2016" looks like. (Sheet "2017" is similar.) -A- -B- -C- 1 Month Date Precip 2 Jan 01/01/17 5 3 Jan 01/15/17 10 4 Jan 01/31/17 15 5 Feb 02/01/17 20 6 Feb 02/15/17 30 7 Feb 02/28/17 40 8 =============================== 9 Jan AvgPrecip _____ 10 Feb AvgPrecip _____ Here's my code. (It works so far but I haven't figured out how to go to the appropriate sheet and calculate the average rainfall.) Sub CommandButton1_Click() If Me.OptionButton1.Value = True And Me.OptionButton3.Value = True Then Call January2016 If Me.OptionButton1.Value = True And Me.OptionButton4.Value = True Then Call January2017 If Me.OptionButton2.Value = True And Me.OptionButton3.Value = True Then Call February2016 If Me.OptionButton2.Value = True And Me.OptionButton4.Value = True Then Call February2017 End Sub Sub CommandButton2_Click() Unload UserForm1 End Sub Sub January2016() MsgBox "January 2016" ' Go to Sheet 2016 and calculate average precipitation for January End Sub Sub January2017() MsgBox "January 2017" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2016() MsgBox "February 2016" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2017() MsgBox "February 2017" ' Go to Sheet 2017 and calculate average precipitation for February End Sub Sub ClearOptionButtons() UserForm1.OptionButton1.Value = False UserForm1.OptionButton2.Value = False UserForm1.OptionButton3.Value = False UserForm1.OptionButton4.Value = False End Sub On Sunday, April 9, 2017 at 1:44:49 PM UTC-6, Robert Logan wrote: Goal: Calculate average precipitation based on Month and Year. Worksheets: "2016" and "2017" Option Buttons: OptionButton1, OptionButton2, OptionButton3, OptionButton4, Form: UserForm1 I have two groups of Option buttons on UserForm1 -- one group under "Month" (Frame1) and one group under "Year (Frame2). I'd like to call a subroutine based on the combination of buttons selected. For example, if a user selects January and selects 2016 (and then clicks "OK"), subroutine "January2016" is called. From there, I'd like to 1) activate sheet "2016" and 2) calculate the average precipitation for January and 3) put the value in the appropriate cell, in this case cell C9. Same for January 2017, etc. Here's what "Form1" looks like. (The zeros are option buttons.) Month Year [OK] O January O 2016 [Cancel] O February O 2017 Here's what the sheet, "2016" looks like. (Sheet "2017" is similar.) -A- -B- -C- 1 Month Date Precip 2 Jan 01/01/17 5 3 Jan 01/15/17 10 4 Jan 01/31/17 15 5 Feb 02/01/17 20 6 Feb 02/15/17 30 7 Feb 02/28/17 40 8 =============================== 9 Jan AvgPrecip _____ 10 Feb AvgPrecip _____ Here's my code. (It works so far but I haven't figured out how to go to the appropriate sheet and calculate the average rainfall.) Sub CommandButton1_Click() If Me.OptionButton1.Value = True And Me.OptionButton3.Value = True Then Call January2016 If Me.OptionButton1.Value = True And Me.OptionButton4.Value = True Then Call January2017 If Me.OptionButton2.Value = True And Me.OptionButton3.Value = True Then Call February2016 If Me.OptionButton2.Value = True And Me.OptionButton4.Value = True Then Call February2017 End Sub Sub CommandButton2_Click() Unload UserForm1 End Sub Sub January2016() MsgBox "January 2016" ' Go to Sheet 2016 and calculate average precipitation for January End Sub Sub January2017() MsgBox "January 2017" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2016() MsgBox "February 2016" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2017() MsgBox "February 2017" ' Go to Sheet 2017 and calculate average precipitation for February End Sub Sub ClearOptionButtons() UserForm1.OptionButton1.Value = False UserForm1.OptionButton2.Value = False UserForm1.OptionButton3.Value = False UserForm1.OptionButton4.Value = False End Sub Hi GS, I put the formulas in D4 and D7 but got a "Circular Reference" error. Any clues? What I really wanted to know -- and perhaps wasn't clear on -- was how you call a subroutine based on combinations of two different option buttons in a form. |
#5
|
|||
|
|||
Quote:
|
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
Hi GS,
I put the formulas in D4 and D7 but got a "Circular Reference" error. Any clues? You probably defined the RefersTo for "ThisMonth" incorrectly. It needs to be col-absolute, row-relative... With A1 selected, RefersTo is "=$A1" ...where the "$" symbol denotes 'Absolute'! You should have removed this from the row as displayed ("=$A$1") when the dialog opened. What I really wanted to know -- and perhaps wasn't clear on -- was how you call a subroutine based on combinations of two different option buttons in a form. I'd go with using 2 comboboxes for simplicity, but here's how I'd handle this approach: In the opt's 'Tag' property put the value you want that opt to return to a variable when clicked... OptionButton1: Name = optJan: Tag = January OptionButton2: Name = optFeb: Tag = February OptionButton3: Name = opt2016: Tag = 2016 OptionButton4: Name = opt2017: Tag = 2017 In the _Click event for each button... Private Sub optJan_Click() msMonth = Iif(Me.optJan, optJan.Tag, "") End Sub Private Sub optFeb_Click() msMonth = Iif(Me.optJan, optFeb.Tag, "") End Sub Private Sub opt2016_Click() msYear = Iif(Me.optJan, opt2016.Tag, "") End Sub Private Sub opt2017_Click() msYear = Iif(Me.optJan, opt2017.Tag, "") End Sub ...where msMonth and msYear are defined as module level vars of type String: Dim msMonth$, msYear$ Sub CommandButton1_Click() Dim sSubToRun$ sSubToRun = msMonth & msYear If sSubToRun < "" Then Application.Run sSubToRun: Call ResetForm End Sub Sub ResetForm() 'Assumes you used this event to set your form up Call Userform_Initialize: Me.Repaint End Sub Combobax Approach: Controls on userform: Combobox1: Name = "cboMonths" Combobox2: Name = "cboYears" CommandButton1: Name = btnRun code: '[module level declarations] Dim msSubToRun$ Const sMonths$ = "<comma delimited list of month names" Const sYears$ = "<comma delimited list of years" Private Sub UserForm_Initialize() Me.cboMonths.List = Split(msMonths, ",") With Me.cboYears .List = Split(msYears, ","): .Enabled = False End With Me.btnRun.Enabled = False End Sub Private Sub cboMonths_Change() msSubToRun = Me.cboMonths.Text: ResetControls End Sub Private Sub cboYears_Change() If msSubToRun < "" Then msSubToRun = msSubToRun & Me.cboYears.Text Me.btnRun.Enabled = True End If End Sub Private Sub btnRun_Click() If msSubToRun < "" Then Application.Run msSubToRun: ResetForm End If End Sub Sub ResetControls() Me.cboYears.Enabled = (msSubToRun < "") Me.btnRun.Enabled = Me.cboYears.Enabled End Sub Sub RestForm() Me.cboMonths = "": Me.cboYears.Text = "" msSubToRun = "": ResetControls End Sub -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion |
#7
|
|||
|
|||
Quote:
|
#8
|
|||
|
|||
Tất cả những th*nh viên dưới 18 tuổi (hoặc được xem l* trẻ vị th*nh niên tại nơi bạn cư trú) tham gia cá cược l* h*nh vi bất hợp pháp tại K8vn . Bất kỳ th*nh viên n*o dưới 18 tuổi không được mở t*i khoản hay cược tại trang web. Nếu Casino K8 phát hiện bất kỳ h*nh vi vi phạm quy định n*y của khách h*ng , bộ ph*n liên quan sẽ tiến h*nh đóng t*i khoản cá cược đó.
Về cá cược tại K8vn trang K8vn chỉ l* một cách để giải tr*, xin quý khách không nên nghiện, dẫn đến tiêu cực. Giải tr* K8 chịu trách nhiệm với khách h*ng cung cấp giải tr* tốt nhất trong môi trường tốt nhất, hy vọng quý khách ổn định tâm lý tránh ham mê cờ bạc v* ảnh hưởng đến sự nghiệp v* gia đình của riêng mình, th*m ch* ảnh hưởng đến người thân trong gia đình. Casino K8 lưu ý tới tất cả người chơi: Bất kỳ sự vi phạm n*o của các t*i khoản, sau khi kiểm tra Casino K8 có quyền đóng các t*i khoản cá cược nêu trên. Casino K8 lưu ý tới tất cả người chơi: Casino K8 luôn mong muốn nâng cao chất lượng v* đem đến nhiều chương trình giải tr* có chất lượng cao d*nh cho th*nh viên. Mục đ*ch của sự thiết l*p n*y l* vì chúng tôi muốn mang đến sự đảm bảo, an to*n, công bằng của các trò chơi m* chúng tôi cung cấp. Chúng tôi mong muốn th*nh viên d*nh *t thời gian trả lời câu hỏi dưới đây để biết thông tin về chơi có trách nhiệm: 1.Bạn đang cảm thấy buồn chán nên tham gia chơi cá cược? 2. Sau khi bạn ho*n th*nh cược, bạn có cảm thấy tiền đã bị mất đi không hoặc tiếp tục cược c*ng sớm c*ng tốt? 3.Bạn sẽ cược liên tục cho tới khi bạn hết tiền? 4. Bạn sẽ nói dối th*m ch* ăn cắp tiền để đánh bạc? 5. Bạn đã cố tình che dấu thời gian v* tiền bạn để chi tiêu trong cờ bạc? 6. Bạn có đồng ý chi trả tiền cược cho các lĩnh vực khác? 7. Bạn đã mất đi niềm vui đối với người thân, bạn bè th*m ch* l* sở th*ch? 8. Giả s* số dư trong t*i khoản game của bạn đã cược hết không còn tiền, bạn có muốn đánh nhanh thắng nhanh lấy lại những gì đã mất? Nếu hầu hết các lựa chọn câu trả lời của bạn l* Có, bạn có thể đã bị nghiện cờ bạc, chúng tôi khuyên bạn nên: Nên xem cá cược l* một thú tiêu khiển Hạn chế sự mất mát một cách liên tục Chơi game có sự hiểu biết riêng của mình Sắp xếp thời gian một cách hợp lý Bạn có thể đăng nh*p v*o địa chỉ www.gamcare.org.uk để tìm hiểu nhiều thông tin hơn cề cách thức sắp sếp thời gian một cách hợp lý khi tham gia cược. Tự cô l*p: Đối với một số khách h*ng muốn tạm ngưng đánh bạc một thời gian, chúng tôi sẽ cung cấp t*nh năng n*y cho bạn, bạn có thể tạm đóng t*i khoản từ 6 tháng tới 5 năm. Vui lòng click v*o trang web Liên hệ chúng tôi , bộ ph*n Chat trực tuyến của chúng tôi sẽ cung cấp cho bạn thêm thông tin cần thiết. Khuyến cáo không mở nhiều t*i khoản, tên biệt danh v* lạm dụng m*t khẩu . Giám sát của phụ huynh: Có rất nhiều phụ huynh v* người giám hộ yêu cầu trang web tiến h*nh bãi bỏ, chúng tôi giới thiệu các trang web sau đây: Phần mềm bảo vệ trẻ em tránh xa các trang web không phù hợp: www.netnanny.com Cho phép phụ huynh c*i đặt trang web cách ly: www.cybersitter.com |
#9
|
|||
|
|||
Tất cả những th*nh viên dưới 18 tuổi (hoặc được xem l* trẻ vị th*nh niên tại nơi bạn cư trú) tham gia cá cược l* h*nh vi bất hợp pháp tại K8vn . Bất kỳ th*nh viên n*o dưới 18 tuổi không được mở t*i khoản hay cược tại trang web. Nếu Casino K8 phát hiện bất kỳ h*nh vi vi phạm quy định n*y của khách h*ng , bộ ph*n liên quan sẽ tiến h*nh đóng t*i khoản cá cược đó.
Về cá cược tại K8vn trang K8vn chỉ l* một cách để giải tr*, xin quý khách không nên nghiện, dẫn đến tiêu cực. Giải tr* K8 chịu trách nhiệm với khách h*ng cung cấp giải tr* tốt nhất trong môi trường tốt nhất, hy vọng quý khách ổn định tâm lý tránh ham mê cờ bạc v* ảnh hưởng đến sự nghiệp v* gia đình của riêng mình, th*m ch* ảnh hưởng đến người thân trong gia đình. Casino K8 lưu ý tới tất cả người chơi: Bất kỳ sự vi phạm n*o của các t*i khoản, sau khi kiểm tra Casino K8 có quyền đóng các t*i khoản cá cược nêu trên. Casino K8 lưu ý tới tất cả người chơi: Casino K8 luôn mong muốn nâng cao chất lượng v* đem đến nhiều chương trình giải tr* có chất lượng cao d*nh cho th*nh viên. Mục đ*ch của sự thiết l*p n*y l* vì chúng tôi muốn mang đến sự đảm bảo, an to*n, công bằng của các trò chơi m* chúng tôi cung cấp. Chúng tôi mong muốn th*nh viên d*nh *t thời gian trả lời câu hỏi dưới đây để biết thông tin về chơi có trách nhiệm: 1.Bạn đang cảm thấy buồn chán nên tham gia chơi cá cược? 2. Sau khi bạn ho*n th*nh cược, bạn có cảm thấy tiền đã bị mất đi không hoặc tiếp tục cược c*ng sớm c*ng tốt? 3.Bạn sẽ cược liên tục cho tới khi bạn hết tiền? 4. Bạn sẽ nói dối th*m ch* ăn cắp tiền để đánh bạc? 5. Bạn đã cố tình che dấu thời gian v* tiền bạn để chi tiêu trong cờ bạc? 6. Bạn có đồng ý chi trả tiền cược cho các lĩnh vực khác? 7. Bạn đã mất đi niềm vui đối với người thân, bạn bè th*m ch* l* sở th*ch? 8. Giả s* số dư trong t*i khoản game của bạn đã cược hết không còn tiền, bạn có muốn đánh nhanh thắng nhanh lấy lại những gì đã mất? Nếu hầu hết các lựa chọn câu trả lời của bạn l* Có, bạn có thể đã bị nghiện cờ bạc, chúng tôi khuyên bạn nên: Nên xem cá cược l* một thú tiêu khiển Hạn chế sự mất mát một cách liên tục Chơi game có sự hiểu biết riêng của mình Sắp xếp thời gian một cách hợp lý Bạn có thể đăng nh*p v*o địa chỉ www.gamcare.org.uk để tìm hiểu nhiều thông tin hơn cề cách thức sắp sếp thời gian một cách hợp lý khi tham gia cược. Tự cô l*p: Đối với một số khách h*ng muốn tạm ngưng đánh bạc một thời gian, chúng tôi sẽ cung cấp t*nh năng n*y cho bạn, bạn có thể tạm đóng t*i khoản từ 6 tháng tới 5 năm. Vui lòng click v*o trang web Liên hệ chúng tôi , bộ ph*n Chat trực tuyến của chúng tôi sẽ cung cấp cho bạn thêm thông tin cần thiết. Khuyến cáo không mở nhiều t*i khoản, tên biệt danh v* lạm dụng m*t khẩu . Giám sát của phụ huynh: Có rất nhiều phụ huynh v* người giám hộ yêu cầu trang web tiến h*nh bãi bỏ, chúng tôi giới thiệu các trang web sau đây: Phần mềm bảo vệ trẻ em tránh xa các trang web không phù hợp: www.netnanny.com Cho phép phụ huynh c*i đặt trang web cách ly: www.cybersitter.com |
#10
|
|||
|
|||
Tất cả những th*nh viên dưới 18 tuổi (hoặc được xem l* trẻ vị th*nh niên tại nơi bạn cư trú) tham gia cá cược l* h*nh vi bất hợp pháp tại K8vn . Bất kỳ th*nh viên n*o dưới 18 tuổi không được mở t*i khoản hay cược tại trang web. Nếu Casino K8 phát hiện bất kỳ h*nh vi vi phạm quy định n*y của khách h*ng , bộ ph*n liên quan sẽ tiến h*nh đóng t*i khoản cá cược đó.
Về cá cược tại K8vn trang K8vn chỉ l* một cách để giải tr*, xin quý khách không nên nghiện, dẫn đến tiêu cực. Giải tr* K8 chịu trách nhiệm với khách h*ng cung cấp giải tr* tốt nhất trong môi trường tốt nhất, hy vọng quý khách ổn định tâm lý tránh ham mê cờ bạc v* ảnh hưởng đến sự nghiệp v* gia đình của riêng mình, th*m ch* ảnh hưởng đến người thân trong gia đình. Casino K8 lưu ý tới tất cả người chơi: Bất kỳ sự vi phạm n*o của các t*i khoản, sau khi kiểm tra Casino K8 có quyền đóng các t*i khoản cá cược nêu trên. Casino K8 lưu ý tới tất cả người chơi: Casino K8 luôn mong muốn nâng cao chất lượng v* đem đến nhiều chương trình giải tr* có chất lượng cao d*nh cho th*nh viên. Mục đ*ch của sự thiết l*p n*y l* vì chúng tôi muốn mang đến sự đảm bảo, an to*n, công bằng của các trò chơi m* chúng tôi cung cấp. Chúng tôi mong muốn th*nh viên d*nh *t thời gian trả lời câu hỏi dưới đây để biết thông tin về chơi có trách nhiệm: 1.Bạn đang cảm thấy buồn chán nên tham gia chơi cá cược? 2. Sau khi bạn ho*n th*nh cược, bạn có cảm thấy tiền đã bị mất đi không hoặc tiếp tục cược c*ng sớm c*ng tốt? 3.Bạn sẽ cược liên tục cho tới khi bạn hết tiền? 4. Bạn sẽ nói dối th*m ch* ăn cắp tiền để đánh bạc? 5. Bạn đã cố tình che dấu thời gian v* tiền bạn để chi tiêu trong cờ bạc? 6. Bạn có đồng ý chi trả tiền cược cho các lĩnh vực khác? 7. Bạn đã mất đi niềm vui đối với người thân, bạn bè th*m ch* l* sở th*ch? 8. Giả s* số dư trong t*i khoản game của bạn đã cược hết không còn tiền, bạn có muốn đánh nhanh thắng nhanh lấy lại những gì đã mất? Nếu hầu hết các lựa chọn câu trả lời của bạn l* Có, bạn có thể đã bị nghiện cờ bạc, chúng tôi khuyên bạn nên: Nên xem cá cược l* một thú tiêu khiển Hạn chế sự mất mát một cách liên tục Chơi game có sự hiểu biết riêng của mình Sắp xếp thời gian một cách hợp lý Bạn có thể đăng nh*p v*o địa chỉ www.gamcare.org.uk để tìm hiểu nhiều thông tin hơn cề cách thức sắp sếp thời gian một cách hợp lý khi tham gia cược. Tự cô l*p: Đối với một số khách h*ng muốn tạm ngưng đánh bạc một thời gian, chúng tôi sẽ cung cấp t*nh năng n*y cho bạn, bạn có thể tạm đóng t*i khoản từ 6 tháng tới 5 năm. Vui lòng click v*o trang web Liên hệ chúng tôi , bộ ph*n Chat trực tuyến của chúng tôi sẽ cung cấp cho bạn thêm thông tin cần thiết. Khuyến cáo không mở nhiều t*i khoản, tên biệt danh v* lạm dụng m*t khẩu . Giám sát của phụ huynh: Có rất nhiều phụ huynh v* người giám hộ yêu cầu trang web tiến h*nh bãi bỏ, chúng tôi giới thiệu các trang web sau đây: Phần mềm bảo vệ trẻ em tránh xa các trang web không phù hợp: www.netnanny.com Cho phép phụ huynh c*i đặt trang web cách ly: www.cybersitter.com |
#11
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
On Sunday, April 9, 2017 at 1:44:49 PM UTC-6, Robert Logan wrote:
Goal: Calculate average precipitation based on Month and Year. Worksheets: "2016" and "2017" Option Buttons: OptionButton1, OptionButton2, OptionButton3, OptionButton4, Form: UserForm1 I have two groups of Option buttons on UserForm1 -- one group under "Month" (Frame1) and one group under "Year (Frame2). I'd like to call a subroutine based on the combination of buttons selected. For example, if a user selects January and selects 2016 (and then clicks "OK"), subroutine "January2016" is called. From there, I'd like to 1) activate sheet "2016" and 2) calculate the average precipitation for January and 3) put the value in the appropriate cell, in this case cell C9. Same for January 2017, etc. Here's what "Form1" looks like. (The zeros are option buttons.) Month Year [OK] O January O 2016 [Cancel] O February O 2017 Here's what the sheet, "2016" looks like. (Sheet "2017" is similar.) -A- -B- -C- 1 Month Date Precip 2 Jan 01/01/17 5 3 Jan 01/15/17 10 4 Jan 01/31/17 15 5 Feb 02/01/17 20 6 Feb 02/15/17 30 7 Feb 02/28/17 40 8 =============================== 9 Jan AvgPrecip _____ 10 Feb AvgPrecip _____ Here's my code. (It works so far but I haven't figured out how to go to the appropriate sheet and calculate the average rainfall.) Sub CommandButton1_Click() If Me.OptionButton1.Value = True And Me.OptionButton3.Value = True Then Call January2016 If Me.OptionButton1.Value = True And Me.OptionButton4.Value = True Then Call January2017 If Me.OptionButton2.Value = True And Me.OptionButton3.Value = True Then Call February2016 If Me.OptionButton2.Value = True And Me.OptionButton4.Value = True Then Call February2017 End Sub Sub CommandButton2_Click() Unload UserForm1 End Sub Sub January2016() MsgBox "January 2016" ' Go to Sheet 2016 and calculate average precipitation for January End Sub Sub January2017() MsgBox "January 2017" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2016() MsgBox "February 2016" ' Go to Sheet 2017 and calculate average precipitation for January End Sub Sub February2017() MsgBox "February 2017" ' Go to Sheet 2017 and calculate average precipitation for February End Sub Sub ClearOptionButtons() UserForm1.OptionButton1.Value = False UserForm1.OptionButton2.Value = False UserForm1.OptionButton3.Value = False UserForm1.OptionButton4.Value = False End Sub GS - I will try your code over the next several days because I'm slammed with meetings. I think your last suggestion(s) address my original design goal. Thank you so much! I appreciate it. I'll get back to you... |
#12
Posted to microsoft.public.excel.programming
|
|||
|
|||
Call subroutine based on combination of Option buttons (two groups)
GS -
I will try your code over the next several days because I'm slammed with meetings. I think your last suggestion(s) address my original design goal. Thank you so much! I appreciate it. I'll get back to you... You're welcome, and good luck! -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion |
#13
|
|||
|
|||
Cái n*y có vẻ HOT đây
http://notepad.vn/share/ongaune11 |
#14
|
|||
|
|||
Tất cả những th*nh viên dưới 18 tuổi (hoặc được xem l* trẻ vị th*nh niên tại nơi bạn cư trú) tham gia cá cược l* h*nh vi bất hợp pháp tại K8vn . Bất kỳ th*nh viên n*o dưới 18 tuổi không được mở t*i khoản hay cược tại trang web. Nếu Casino K8 phát hiện bất kỳ h*nh vi vi phạm quy định n*y của khách h*ng , bộ ph*n liên quan sẽ tiến h*nh đóng t*i khoản cá cược đó.
Về cá cược tại K8vn trang K8vn chỉ l* một cách để giải tr*, xin quý khách không nên nghiện, dẫn đến tiêu cực. Giải tr* K8 chịu trách nhiệm với khách h*ng cung cấp giải tr* tốt nhất trong môi trường tốt nhất, hy vọng quý khách ổn định tâm lý tránh ham mê cờ bạc v* ảnh hưởng đến sự nghiệp v* gia đình của riêng mình, th*m ch* ảnh hưởng đến người thân trong gia đình. Casino K8 lưu ý tới tất cả người chơi: Bất kỳ sự vi phạm n*o của các t*i khoản, sau khi kiểm tra Casino K8 có quyền đóng các t*i khoản cá cược nêu trên. Casino K8 lưu ý tới tất cả người chơi: Casino K8 luôn mong muốn nâng cao chất lượng v* đem đến nhiều chương trình giải tr* có chất lượng cao d*nh cho th*nh viên. Mục đ*ch của sự thiết l*p n*y l* vì chúng tôi muốn mang đến sự đảm bảo, an to*n, công bằng của các trò chơi m* chúng tôi cung cấp. Chúng tôi mong muốn th*nh viên d*nh *t thời gian trả lời câu hỏi dưới đây để biết thông tin về chơi có trách nhiệm: 1.Bạn đang cảm thấy buồn chán nên tham gia chơi cá cược? 2. Sau khi bạn ho*n th*nh cược, bạn có cảm thấy tiền đã bị mất đi không hoặc tiếp tục cược c*ng sớm c*ng tốt? 3.Bạn sẽ cược liên tục cho tới khi bạn hết tiền? 4. Bạn sẽ nói dối th*m ch* ăn cắp tiền để đánh bạc? 5. Bạn đã cố tình che dấu thời gian v* tiền bạn để chi tiêu trong cờ bạc? 6. Bạn có đồng ý chi trả tiền cược cho các lĩnh vực khác? 7. Bạn đã mất đi niềm vui đối với người thân, bạn bè th*m ch* l* sở th*ch? 8. Giả s* số dư trong t*i khoản game của bạn đã cược hết không còn tiền, bạn có muốn đánh nhanh thắng nhanh lấy lại những gì đã mất? Nếu hầu hết các lựa chọn câu trả lời của bạn l* Có, bạn có thể đã bị nghiện cờ bạc, chúng tôi khuyên bạn nên: Nên xem cá cược l* một thú tiêu khiển Hạn chế sự mất mát một cách liên tục Chơi game có sự hiểu biết riêng của mình Sắp xếp thời gian một cách hợp lý Bạn có thể đăng nh*p v*o địa chỉ www.gamcare.org.uk để tìm hiểu nhiều thông tin hơn cề cách thức sắp sếp thời gian một cách hợp lý khi tham gia cược. Tự cô l*p: Đối với một số khách h*ng muốn tạm ngưng đánh bạc một thời gian, chúng tôi sẽ cung cấp t*nh năng n*y cho bạn, bạn có thể tạm đóng t*i khoản từ 6 tháng tới 5 năm. Vui lòng click v*o trang web Liên hệ chúng tôi , bộ ph*n Chat trực tuyến của chúng tôi sẽ cung cấp cho bạn thêm thông tin cần thiết. Khuyến cáo không mở nhiều t*i khoản, tên biệt danh v* lạm dụng m*t khẩu . Giám sát của phụ huynh: Có rất nhiều phụ huynh v* người giám hộ yêu cầu trang web tiến h*nh bãi bỏ, chúng tôi giới thiệu các trang web sau đây: Phần mềm bảo vệ trẻ em tránh xa các trang web không phù hợp: www.netnanny.com Cho phép phụ huynh c*i đặt trang web cách ly: www.cybersitter.com |
#15
|
|||
|
|||
Tất cả những th*nh viên dưới 18 tuổi (hoặc được xem l* trẻ vị th*nh niên tại nơi bạn cư trú) tham gia cá cược l* h*nh vi bất hợp pháp tại K8vn . Bất kỳ th*nh viên n*o dưới 18 tuổi không được mở t*i khoản hay cược tại trang web. Nếu Casino K8 phát hiện bất kỳ h*nh vi vi phạm quy định n*y của khách h*ng , bộ ph*n liên quan sẽ tiến h*nh đóng t*i khoản cá cược đó.
Về cá cược tại K8vn trang K8vn chỉ l* một cách để giải tr*, xin quý khách không nên nghiện, dẫn đến tiêu cực. Giải tr* K8 chịu trách nhiệm với khách h*ng cung cấp giải tr* tốt nhất trong môi trường tốt nhất, hy vọng quý khách ổn định tâm lý tránh ham mê cờ bạc v* ảnh hưởng đến sự nghiệp v* gia đình của riêng mình, th*m ch* ảnh hưởng đến người thân trong gia đình. Casino K8 lưu ý tới tất cả người chơi: Bất kỳ sự vi phạm n*o của các t*i khoản, sau khi kiểm tra Casino K8 có quyền đóng các t*i khoản cá cược nêu trên. Casino K8 lưu ý tới tất cả người chơi: Casino K8 luôn mong muốn nâng cao chất lượng v* đem đến nhiều chương trình giải tr* có chất lượng cao d*nh cho th*nh viên. Mục đ*ch của sự thiết l*p n*y l* vì chúng tôi muốn mang đến sự đảm bảo, an to*n, công bằng của các trò chơi m* chúng tôi cung cấp. Chúng tôi mong muốn th*nh viên d*nh *t thời gian trả lời câu hỏi dưới đây để biết thông tin về chơi có trách nhiệm: 1.Bạn đang cảm thấy buồn chán nên tham gia chơi cá cược? 2. Sau khi bạn ho*n th*nh cược, bạn có cảm thấy tiền đã bị mất đi không hoặc tiếp tục cược c*ng sớm c*ng tốt? 3.Bạn sẽ cược liên tục cho tới khi bạn hết tiền? 4. Bạn sẽ nói dối th*m ch* ăn cắp tiền để đánh bạc? 5. Bạn đã cố tình che dấu thời gian v* tiền bạn để chi tiêu trong cờ bạc? 6. Bạn có đồng ý chi trả tiền cược cho các lĩnh vực khác? 7. Bạn đã mất đi niềm vui đối với người thân, bạn bè th*m ch* l* sở th*ch? 8. Giả s* số dư trong t*i khoản game của bạn đã cược hết không còn tiền, bạn có muốn đánh nhanh thắng nhanh lấy lại những gì đã mất? Nếu hầu hết các lựa chọn câu trả lời của bạn l* Có, bạn có thể đã bị nghiện cờ bạc, chúng tôi khuyên bạn nên: Nên xem cá cược l* một thú tiêu khiển Hạn chế sự mất mát một cách liên tục Chơi game có sự hiểu biết riêng của mình Sắp xếp thời gian một cách hợp lý Bạn có thể đăng nh*p v*o địa chỉ www.gamcare.org.uk để tìm hiểu nhiều thông tin hơn cề cách thức sắp sếp thời gian một cách hợp lý khi tham gia cược. Tự cô l*p: Đối với một số khách h*ng muốn tạm ngưng đánh bạc một thời gian, chúng tôi sẽ cung cấp t*nh năng n*y cho bạn, bạn có thể tạm đóng t*i khoản từ 6 tháng tới 5 năm. Vui lòng click v*o trang web Liên hệ chúng tôi , bộ ph*n Chat trực tuyến của chúng tôi sẽ cung cấp cho bạn thêm thông tin cần thiết. Khuyến cáo không mở nhiều t*i khoản, tên biệt danh v* lạm dụng m*t khẩu . Giám sát của phụ huynh: Có rất nhiều phụ huynh v* người giám hộ yêu cầu trang web tiến h*nh bãi bỏ, chúng tôi giới thiệu các trang web sau đây: Phần mềm bảo vệ trẻ em tránh xa các trang web không phù hợp: www.netnanny.com Cho phép phụ huynh c*i đặt trang web cách ly: www.cybersitter.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Option buttons in two levels groups | Excel Programming | |||
Accessing groups of option buttons | Excel Programming | |||
Groups in Option buttons | Excel Programming | |||
Two Groups of Option Buttons on Worksheet | Excel Discussion (Misc queries) | |||
Option Buttons - groups | Excel Discussion (Misc queries) |