Страницы: 1
RSS
Разрыв страницы в VBA
 
День добрый,  
1. Записал макрорекодером два макроса: М1 выделить строку-вставить разрыв страницы; М2 выделить туже строку и удалить разрыв страницы.  
При выполнении (по кнопке) М2 дает ошибку 9: Subscript out of range, хотя разрыв есть. Сброс всех разрывов мне не годиться. Как его (разрыв) удалить.  
2. А как (и можно ли вообще) в VBA узнать строку где стои разрыв страницы?  
Спасибо.
 
Вот нашёл код:  
Sub Test()  
   With ActiveSheet  
       If .HPageBreaks.Count > 0 Then  
           Dim pb As HPageBreak, rngHPB As Range  
           Set rngHPB = .HPageBreaks(.HPageBreaks.Count).Location  
           i = rngHPB.Row               'положение последнего разрыва  
           For Each pb In .HPageBreaks  
               Set rngHPB = pb.Location  
               i = rngHPB.Row - 1 'Номер строки перед разрывом страницы  
               MsgBox i  
           Next pb  
       End If  
   End With  
End Sub
 
Sub Test()  
   With ActiveSheet  
       If .HPageBreaks.Count > 0 Then  
           Dim pb As HPageBreak, rngHPB As Range  
           Set rngHPB = .HPageBreaks(.HPageBreaks.Count).Location  
           For Each pb In .HPageBreaks  
               Set rngHPB = pb.Location  
               MsgBox "Разрыв перед строкой: " & pb.Location.Row  
'                If pb.Location.Row = 10 Then pb.Location.Delete 'Удаляем  
           Next pb  
       End If  
   End With  
End Sub
 
Юрий М, спасибо.  
Но не пойму в чем причина: макросы работают только до 10 строчки, если разрыв ниже - не работает.
 
Заполните хоть по одной ячейке между разрывами и ниже последнего :-)
 
Даже достаточно одну - ниже последнего разрыва
 
{quote}{login=Юрий М}{date=02.05.2010 08:54}{thema=}{post}Даже достаточно одну - ниже последнего разрыва{/post}{/quote}  
И действительно:) Прикольная ситуация, а я голову ломал - почему не работает.  
Еще раз, спасибо.
Страницы: 1
Читают тему
Наверх