Thread: Hide Columns
View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Hide Columns

I meant the first which should look strikingly identical. That is the OP's
code as far as what is being tested - and I so stated in my first post that
I left that in in case he/she had some reason to have duplicate tests.
(placeholder or whatever).

Unless you are seeing something and I am missing it. (but testing "0" or 0
with an and ?? although a true zero would pass both while a blank or "0"
would not - at least in xl97)

--
Regards,
Tom Ogilvy


"Dave Peterson" wrote in message
...
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