ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Compile Error - Procedure too large (https://www.excelbanter.com/excel-programming/416378-compile-error-procedure-too-large.html)

DAVEYB

Compile Error - Procedure too large
 
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

Compile Error - Procedure too large
 
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

Don Guillett

Compile Error - Procedure too large
 
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





DAVEYB

Compile Error - Procedure too large
 
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


Rick Rothstein

Compile Error - Procedure too large
 
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



Don Guillett

Compile Error - Procedure too large
 
Rick, Congrats on your deserved MVP.

BTW, Didn't I say this in my OP?

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Rick Rothstein" wrote in message
...
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




Rick Rothstein

Compile Error - Procedure too large
 
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)


DAVEYB

Compile Error - Procedure too large
 
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







All times are GMT +1. The time now is 11:56 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com