ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   This used to work... (https://www.excelbanter.com/excel-programming/402422-used-work.html)

Stephen[_24_]

This used to work...
 
Sub CloseRows()

Application.ScreenUpdating = False
Application.EnableEvents = False

Dim ws As Worksheet

Sheets("Sheet 1").Select

For Each ws In ThisWorkbook.Worksheets
With ws
..Unprotect Password:="*****"
'.Columns("A:W").AutoFit

For i = 31 To 1000
..Cells.EntireRow.Hidden = False
If .Cells(i, 1).Value = "" Then
..Cells(i, 1).EntireRow.Hidden = True
End If
Next i
End With
Next ws



'For Each ws In ThisWorkbook.Worksheets
'ws.Protect Password:="*****", AllowFormattingCells:=True,
AllowFormattingColumns:=True, DrawingObjects:=False, Contents:=True
'Next ws

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

But now it does nothing. I think I may have changed a setting?

Help. this is silly.


joel

This used to work...
 
Make sure your Macro Security level is low or medium

worksheet menu - Tools - Macro - Security

I would think any other reason for it not working would produce an error
messsage. If the Password was wrong for example.

"Stephen" wrote:

Sub CloseRows()

Application.ScreenUpdating = False
Application.EnableEvents = False

Dim ws As Worksheet

Sheets("Sheet 1").Select

For Each ws In ThisWorkbook.Worksheets
With ws
.Unprotect Password:="*****"
'.Columns("A:W").AutoFit

For i = 31 To 1000
.Cells.EntireRow.Hidden = False
If .Cells(i, 1).Value = "" Then
.Cells(i, 1).EntireRow.Hidden = True
End If
Next i
End With
Next ws



'For Each ws In ThisWorkbook.Worksheets
'ws.Protect Password:="*****", AllowFormattingCells:=True,
AllowFormattingColumns:=True, DrawingObjects:=False, Contents:=True
'Next ws

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

But now it does nothing. I think I may have changed a setting?

Help. this is silly.


Stephen[_24_]

This used to work...
 
Found it!

For i = 31 To 1000
..Cells.EntireRow.Hidden = False

should have been simply

For i = 31 To 1000






"Joel" wrote:

Make sure your Macro Security level is low or medium

worksheet menu - Tools - Macro - Security

I would think any other reason for it not working would produce an error
messsage. If the Password was wrong for example.

"Stephen" wrote:

Sub CloseRows()

Application.ScreenUpdating = False
Application.EnableEvents = False

Dim ws As Worksheet

Sheets("Sheet 1").Select

For Each ws In ThisWorkbook.Worksheets
With ws
.Unprotect Password:="*****"
'.Columns("A:W").AutoFit

For i = 31 To 1000
.Cells.EntireRow.Hidden = False
If .Cells(i, 1).Value = "" Then
.Cells(i, 1).EntireRow.Hidden = True
End If
Next i
End With
Next ws



'For Each ws In ThisWorkbook.Worksheets
'ws.Protect Password:="*****", AllowFormattingCells:=True,
AllowFormattingColumns:=True, DrawingObjects:=False, Contents:=True
'Next ws

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

But now it does nothing. I think I may have changed a setting?

Help. this is silly.



All times are GMT +1. The time now is 03:55 AM.

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