Sub removeBlankRows() Application.ScreenUpdating = False Dim sh As Worksheet, lr As Long, i As Long For Each sh In ThisWorkbook.Sheets If sh.Name Like "Ñêë*" Then With sh 'If Not Intersect(.Range("A5:A26"), .UsedRange) Is Nothing Then lr = .Cells(Rows.Count, 1).End(xlUp).Row q = 0 For Each cl In .Range("A5:A26").Cells If cl.Value <> "" Then q = q + 1 Next cl If q > 0 Then For i = lr To 5 Step -1 If .Cells(i, 1) = "" Then .Rows(i).Hidden = True Next i .PrintOut Copies:=1 End If End With End If Next sh Application.ScreenUpdating = True End Sub
[/vba]
Попробуйте так [vba]
Код
Sub removeBlankRows() Application.ScreenUpdating = False Dim sh As Worksheet, lr As Long, i As Long For Each sh In ThisWorkbook.Sheets If sh.Name Like "Ñêë*" Then With sh 'If Not Intersect(.Range("A5:A26"), .UsedRange) Is Nothing Then lr = .Cells(Rows.Count, 1).End(xlUp).Row q = 0 For Each cl In .Range("A5:A26").Cells If cl.Value <> "" Then q = q + 1 Next cl If q > 0 Then For i = lr To 5 Step -1 If .Cells(i, 1) = "" Then .Rows(i).Hidden = True Next i .PrintOut Copies:=1 End If End With End If Next sh Application.ScreenUpdating = True End Sub
Слишком много сарказм. Я взял пример из поста 12 и вставил формулу
На счет сарказма, если это сарказм, то можно было и больше. Я тоже брал пример из поста 12 и все работало. А вы, с 5-го по 17-й пост твердите, что не работает. Потом оказывается, там формула. А нам то, откуда знать. Ни в одном примере формул не было.
Слишком много сарказм. Я взял пример из поста 12 и вставил формулу
На счет сарказма, если это сарказм, то можно было и больше. Я тоже брал пример из поста 12 и все работало. А вы, с 5-го по 17-й пост твердите, что не работает. Потом оказывается, там формула. А нам то, откуда знать. Ни в одном примере формул не было.