Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 360
Default need an OR in the countif statement

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

I haven't tested this but it should work:

If Application.CountIf(C.Cells, "n/a") + Application.CountIf(C.Cells, "
") _
= C.Cells.Count Then


"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

One other thing. Your "N/A" will be case sensitive so if you are mixing them
up on the sheet, then you will need to make them all the same case.

If Application.CountIf(C.Cells, LCase("N/A")

"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

Disregard the line with the LCase in it. I thought I deleted that.

"JLGWhiz" wrote:

One other thing. Your "N/A" will be case sensitive so if you are mixing them
up on the sheet, then you will need to make them all the same case.

If Application.CountIf(C.Cells, LCase("N/A")

"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

I also just noticed that you are using a space between you quote marks for
null.
Don't do that. Use "" not " ", because the one with the space puts readable
data in the cell and you will not get the results you want.

"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

I was wrong, it is not case sensitive for CountIf.

"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default need an OR in the countif statement

So considering that there might also be cells that contain formulas but no
values we should include "0" in the equation. Here is what the last version
looks like.

Public Sub FORMAT_VOD_HideColumns() 'Hides a column if all cells in
range = specific value.
Dim C As Range
lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False
For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
If Application.CountIf(C.Cells, "N/A") + _
Application.CountIf(C.Cells, "") + Application.CountIf(C.Cells, "0") _
= C.Cells.Count Then
C.EntireColumn.Hidden = True
Else
C.EntireColumn.Hidden = False
End If
Next C
Application.ScreenUpdating = True
End Sub

So any combination of "N/A", null, or zero should add up to the cell count
in the range and if it don't, then you have other data in that column and you
don't want to hide it.

"Janis" wrote:

This version does work better. Now it is counting on the columns and I can
see it in the msgbox. Before I think it wasn't counting any columns. It
still doesn't hide any columns though. The reason is there are blank's in
the data rows because there are subtotal rows on groups and those cells don't
have an n/a, so I need to know how to use the OR in the countif or else I
need to not use the countif. I tried
Application.CountIf(C.Cells, "n/A" or " ")
Application.CountIf(C.Cells, "n/a") OR Application.CountIf(C.Cells, " ")
(this last one was really scary, it caused all the n/a cells to be blank
instead of hiding them

tia,
----------------------------------------
Public Sub FORMAT_VOD_HideColumns()
Dim C As Range
Dim lr As Integer


lr = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False

For Each C In Intersect(Range("12:" & lr), ActiveSheet.UsedRange).Columns
Application.ScreenUpdating = False

If Application.CountIf(C.Cells, "n/A") = C.Cells.Count Then
C.EntireColumn.Hidden = True
MsgBox C.Address
Else
C.EntireColumn.Hidden = False

End If

Next C


Application.ScreenUpdating = True

End Sub

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Countif? or IF statement?? paankadu Excel Worksheet Functions 2 February 9th 09 05:50 PM
OR statement in a Countif Janis Excel Programming 7 August 22nd 07 11:20 PM
Countif within and if statement Amber Excel Worksheet Functions 2 July 30th 07 06:05 PM
countif statement italiavb Excel Worksheet Functions 4 July 14th 06 01:57 PM
countif statement Russell Hampton Excel Worksheet Functions 6 December 18th 04 07:39 PM


All times are GMT +1. The time now is 03:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"