Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Below is the code I am using. The code is designed to hide zeros. Let me
know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
absRowTot is of type double. If you try to assign text to that variable you
will get a type mismatch. Change it to type Variant as a quick and dirty solution. -- HTH... Jim Thomlinson "Mike C" wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dim absRowTot As Variant
instead of Double. If this post helps click Yes --------------- Jacob Skaria "Mike C" wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Another question...
Are there any errors in that range (column 20)? If yes, you could use: For i = topCell To bottomCell Step 1 if iserror(fim.cells(i,absrowtotcolumn).value) then 'skip it else 'absrowtot is still declared a variant absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To i fim.Rows(n).Hidden = True Next n End If end if Next i Ps. I would never use "as integer" in the declarations. I use "as long". They hold bigger numbers (less change of problems) and from what I've read are quicker on new pcs. Mike C wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
And you don't need this loop:
For n = i To i fim.Rows(n).Hidden = True Next n fim.Rows(i).Hidden = True Dave Peterson wrote: Another question... Are there any errors in that range (column 20)? If yes, you could use: For i = topCell To bottomCell Step 1 if iserror(fim.cells(i,absrowtotcolumn).value) then 'skip it else 'absrowtot is still declared a variant absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To i fim.Rows(n).Hidden = True Next n End If end if Next i Ps. I would never use "as integer" in the declarations. I use "as long". They hold bigger numbers (less change of problems) and from what I've read are quicker on new pcs. Mike C wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub -- Dave Peterson -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If I make it a variant it still gives me a type mismatch error.
"Jim Thomlinson" wrote: absRowTot is of type double. If you try to assign text to that variable you will get a type mismatch. Change it to type Variant as a quick and dirty solution. -- HTH... Jim Thomlinson "Mike C" wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If I make it a variant it still gives me a type mismatch error.
"Jacob Skaria" wrote: Dim absRowTot As Variant instead of Double. If this post helps click Yes --------------- Jacob Skaria "Mike C" wrote: Below is the code I am using. The code is designed to hide zeros. Let me know if anyone has any ideas or suggestions why it is not working. Thanks in advance. Mike C Sub Toggle_Suppresion() Dim i As Integer Dim n As Integer Dim wkb As Workbook Dim wks As Worksheet Dim fim As Worksheet Dim rng As Range Dim absRowTot As Double Dim topCell As Integer 'The first Row in the report with data (must be changed accordingly) Dim bottomCell As Integer 'Bottom Row in the report (set automatically) Dim absRowTotColumn 'The numeric column that has the absolute value sumation topCell = 8 bottomCell = ActiveSheet.UsedRange.Rows.Count absRowTotColumn = 20 Set wks = ActiveCell.Worksheet Set fim = ActiveSheet Application.ScreenUpdating = False 'fim.Select 'Rows(topCell & ":" & bottomCell).Select 'Selection.EntireRow.Hidden = False For i = topCell To bottomCell Step 1 absRowTot = fim.Cells(i, absRowTotColumn).Value If absRowTot = 0 Then For n = i To (i) Rows(n).Select Selection.EntireRow.Hidden = True Next End If Next fim.Select Range("a1").Select Application.ScreenUpdating = True End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
runtime error 13 - type mismatch error in Excel 97 on Citrix | Excel Programming | |||
xpath error? Runtime Error 13 type mismatch | Excel Discussion (Misc queries) | |||
xpath error? Runtime Error 13 type mismatch | Excel Discussion (Misc queries) | |||
Runtime Error '13': Type mismatch | Excel Programming | |||
Runtime error 13 type mismatch ? | Excel Programming |