Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am new to coding and am getting the Compile error message - procedure too
large. Can anyone advise me how to consense the following code based on a combi box allowing the user to select a month ? It is 57 pages long but an extract appears below. Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Columns("O:X").EntireColumn.Hidden = True Columns("AP:AX").EntireColumn.Hidden = True Columns("Z:AA").EntireColumn.Hidden = True Columns("AZ:BA").EntireColumn.Hidden = True Range("AB15").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Many thanks Dave |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You can combine ranges and not select cells:
Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" And as long as the formulas are consistent, you can do even mo Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15:ab18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" DAVEYB wrote: I am new to coding and am getting the Compile error message - procedure too large. Can anyone advise me how to consense the following code based on a combi box allowing the user to select a month ? It is 57 pages long but an extract appears below. Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Columns("O:X").EntireColumn.Hidden = True Columns("AP:AX").EntireColumn.Hidden = True Columns("Z:AA").EntireColumn.Hidden = True Columns("AZ:BA").EntireColumn.Hidden = True Range("AB15").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Many thanks Dave -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Stunning answer - many thanks Dave
"Dave Peterson" wrote: You can combine ranges and not select cells: Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" And as long as the formulas are consistent, you can do even mo Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15:ab18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" DAVEYB wrote: I am new to coding and am getting the Compile error message - procedure too large. Can anyone advise me how to consense the following code based on a combi box allowing the user to select a month ? It is 57 pages long but an extract appears below. Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Columns("O:X").EntireColumn.Hidden = True Columns("AP:AX").EntireColumn.Hidden = True Columns("Z:AA").EntireColumn.Hidden = True Columns("AZ:BA").EntireColumn.Hidden = True Range("AB15").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Many thanks Dave -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Columns("A:IV").EntireColumn.Hidden = False
You can save a little bit more by removing the .EntireColumn property call... Columns("A:IV").Hidden = False Because the reference it to Columns, it will do the same thing. -- Rick (MVP - Excel) "Dave Peterson" wrote in message ... You can combine ranges and not select cells: Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" And as long as the formulas are consistent, you can do even mo Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Range("O:X,AP:AX,Z:AA,AZ:BA").EntireColumn.Hidden = True Range("AB15:ab18").FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" DAVEYB wrote: I am new to coding and am getting the Compile error message - procedure too large. Can anyone advise me how to consense the following code based on a combi box allowing the user to select a month ? It is 57 pages long but an extract appears below. Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Columns("O:X").EntireColumn.Hidden = True Columns("AP:AX").EntireColumn.Hidden = True Columns("Z:AA").EntireColumn.Hidden = True Columns("AZ:BA").EntireColumn.Hidden = True Range("AB15").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Many thanks Dave -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
BTW, Didn't I say this in my OP?
Yes, but I responded to Dave's posting before I read your response (I scanned his code, saw the simplification and posted my comment about it right then and there). Rick, Congrats on your deserved MVP. Thank you very much for your extremely kind comment; I really appreciate it. However, you might want to go to the microsoft.private.mvp.excel newsgroup and read the Nate Oliver sub-thread in the main thread with Subject line "New Excel pages on MSDN" dated 8/26/2008 for the (strange) story behind my being able to use this signature. -- Rick (MVP - Excel) |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Wow !
"Don Guillett" wrote: Try this idea Private Sub ComboBox1_Change() Columns("A:IV").Hidden = False If Application.Trim(ComboBox1) = "JANUARY" Then 'MsgBox "hi" Range("O1:X1,ap1:ax1,z1:aa1,az1:ba1").EntireColumn .Hidden = True For i = 15 To 18 Range("AB" & i).FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Next i End If End Sub -- Don Guillett Microsoft MVP Excel SalesAid Software "DAVEYB" wrote in message ... I am new to coding and am getting the Compile error message - procedure too large. Can anyone advise me how to consense the following code based on a combi box allowing the user to select a month ? It is 57 pages long but an extract appears below. Private Sub ComboBox1_Change() Columns("A:IV").EntireColumn.Hidden = False If ComboBox1 = "JANUARY" Then Columns("O:X").EntireColumn.Hidden = True Columns("AP:AX").EntireColumn.Hidden = True Columns("Z:AA").EntireColumn.Hidden = True Columns("AZ:BA").EntireColumn.Hidden = True Range("AB15").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB16").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB17").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Range("AB18").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-23]:RC[-14])" Many thanks Dave |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Compile Error: Procedure too large | Excel Programming | |||
VBA Compile error: Procedure too large? | Excel Discussion (Misc queries) | |||
Compile error: Procedure too large | Excel Programming | |||
Compile error: Procedure too large | Excel Programming | |||
Compile Error: Procedure too large | Excel Programming |