Thread: Hide Columns
View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_3_] Dave Peterson[_3_] is offline
external usenet poster
 
Posts: 2,824
Default Hide Columns

Did you mean this?

If .Cells(lRow, Lcol).Value = "0" And _
.Cells(lRow, Lcol).Value = "0" Then

or this?

If .Cells(lRow, Lcol).Value = "0" And _
.Cells(lRow, Lcol).Value = 0 Then

They looked strikingly similar <bg.



Tom Ogilvy wrote:

If .Cells(lRow,LCol).Value = "0" And _
.Cells(lRow,LCol").Value = "0" Then

should be

If .Cells(lRow,LCol).Value = "0" And _
.Cells(lRow,LCol).Value = "0" Then

Remove the extra double quote which didn't get deleted when I edited the
code.

I have tested this version and it worked for me: (I also changed .Hidden =
False to .Hidden = True)

Sub Macro1()
Dim Firstcol As Long
Dim Lastcol As Long
Dim Lcol As Long
Dim CalcMode As Long
Dim lRow As Long

' check in row 1
lRow = 1

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Firstcol = 1
Lastcol = Cells(lRow, "IV").End(xlToLeft).Column
With ActiveSheet
.DisplayPageBreaks = False
For Lcol = Lastcol To Firstcol Step -1

If .Cells(lRow, Lcol).Value = "0" And _
.Cells(lRow, Lcol).Value = "0" Then
Debug.Print Lcol
.Columns(Lcol).Hidden = True
End If

Next
End With
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With

End Sub

--
Regards,
Tom Ogilvy

"Momo" wrote in message
...
hi thanks,

I'm not sure if it works but thus far I get the following in red with a
compile error message?

If .Cells(lRow,LCol).Value = "0" And _
.Cells(lRow,LCol").Value = "0" Then

"Tom Ogilvy" wrote:

Dim Firstcol As Long
Dim Lastcol As Long
Dim Lcol As Long
Dim CalcMode As Long
Dim lRow as Long

' check in row 1
lRow = 1

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Firstcol = 1
Lastcol = cells(lRow,"IV").End(xltoLeft).Column
With ActiveSheet
.DisplayPageBreaks = False
For LCol = LastCol To FirstCol Step -1

If .Cells(lRow,LCol).Value = "0" And _
.Cells(lRow,LCol").Value = "0" Then
.Columns(LCol).Hidden = False
End If

Next
End With
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With

End sub

this checks entries in Row 1, so if you want the hiding based on another
row, change the value of lRow from 1 to something else.

I left in the double check in the If statement in case you want to check

for
two conditions.

--
Regards,
Tom Ogilvy

"Momo" wrote in message
...
Hi,

I have a hide rows macro that I got off here a few weeks back but i

would
now like to change it so it can hide columns, I'm very programming
illiterate
and would like soem help please, here is the hide rows macro

Dim Firstrow As Long
Dim Lastrow As Long
Dim Lrow As Long
Dim CalcMode As Long

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Firstrow = ActiveSheet.Cells(1).Row
Lastrow = ActiveSheet.Rows.Count + Firstrow - 1
With ActiveSheet
.DisplayPageBreaks = False
For Lrow = Lastrow To Firstrow Step -1

If .Cells(Lrow, "A").Value = "0" And _
.Cells(Lrow, "A").Value = "0" Then .Rows(Lrow).Hidden =
False

Next
End With
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With

if someone can change it i would be very greatfull, i have tried but

can't
get it to work, many thanks,

Andy




--

Dave Peterson