ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   hidden column concern (https://www.excelbanter.com/excel-worksheet-functions/66721-hidden-column-concern.html)

Bri

hidden column concern
 
Hello

I have a wide table (250 columns). The first 4 columns are a frozen pane.
When I run any of a series of macros (see a sample below), some columns are
hidden while others are shown.

I have 2 concerns:

a) When I run the macro, the screen flickers for a second during execution.
No big deal, but I'd prefer it to not do this. Is my code inefficient, or
is there some way to prevent this?

b) All of the macros work in any combination, but sometimes I can't see the
non-hidden columns immediately because they are too far off to the left. I
can fix this by moving the slider on the bottom right of the screen all the
way left. How can I get the code to do this?

Thank you in advance


Sub ShowTest_A_Results()
Dim TableEndCol As Integer
TableEndCol = 250

For N = 5 To TableEndCol
Select Case N
Case 5 To 27, 32 To 68, 75 To 123, 128, 130 To TableEndCol
Columns(N).Hidden = True
Case Else
Columns(N).Hidden = False
End Select
Next
End Sub




Dave Peterson

hidden column concern
 
You can add:

application.screenupdating = false
'your code that does the work
for N = ...
...
next N
application.screenupdating = true

b. application.goto range("A1"),scroll:=true
or
range("a1").select



Bri wrote:

Hello

I have a wide table (250 columns). The first 4 columns are a frozen pane.
When I run any of a series of macros (see a sample below), some columns are
hidden while others are shown.

I have 2 concerns:

a) When I run the macro, the screen flickers for a second during execution.
No big deal, but I'd prefer it to not do this. Is my code inefficient, or
is there some way to prevent this?

b) All of the macros work in any combination, but sometimes I can't see the
non-hidden columns immediately because they are too far off to the left. I
can fix this by moving the slider on the bottom right of the screen all the
way left. How can I get the code to do this?

Thank you in advance

Sub ShowTest_A_Results()
Dim TableEndCol As Integer
TableEndCol = 250

For N = 5 To TableEndCol
Select Case N
Case 5 To 27, 32 To 68, 75 To 123, 128, 130 To TableEndCol
Columns(N).Hidden = True
Case Else
Columns(N).Hidden = False
End Select
Next
End Sub


--

Dave Peterson

[email protected]

hidden column concern
 
To stop the flicker use Application.ScreenUpdating in your code.

To display the hidden columns use Sendkeys to go to the home position.

I modified your code to show the needed changes.


Sub ShowTest_A_Results()
Dim TableEndCol As Integer
Application.ScreenUpdating = False

TableEndCol = 250


For N = 5 To TableEndCol
Select Case N
Case 5 To 27, 32 To 68, 75 To 123, 128, 130 To TableEndCol
Columns(N).Hidden = True
Case Else
Columns(N).Hidden = False
End Select
Next
Application.SendKeys ("{Home}")
Application.ScreenUpdating = True

End Sub


Bri

hidden column concern
 
Why couldn't I have thought of that! Thanks to both.
Bri




All times are GMT +1. The time now is 05:04 AM.

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