Найдите, какая строка имеет горизонтальную линию печати - PullRequest
0 голосов
/ 16 февраля 2012

Это меласса медленная (и не работает на свежих листах):

Sub Test()
 With Sheets("Sheet1")
  .Select

  For n = 1 To 1000
   If .Rows(n).PageBreak <> xlPageBreakNone Then MsgBox n

   If n = 100 Then Exit Sub
  Next
 End With
End Sub

Ответы [ 2 ]

6 голосов
/ 16 февраля 2012

Если вы хотите найти строку первого разрыва страницы на листе, попробуйте это

Sub WhereIsPageBreak()
    Dim ws As Worksheet
    Set ws = Sheets("Sheet1")

    With ws.HPageBreaks
        If .Count > 0 Then
            MsgBox .Item(1).Location.Row
        Else
            MsgBox "No Page Breaks on this Sheet"
        End If
    End With
End Sub
2 голосов
/ 16 февраля 2012

Если вы хотите выйти, когда n = 100, тогда почему цикл до 1000?Также, когда вы открываете новую книгу или используете код на новом листе, вы никогда не найдете разрыв страницы, так как его не будет.Если под «свежим» вы подразумеваете книгу, в которую уже вставлен разрыв страницы, то ваш код все равно будет работать.

Sub Sample()
  For n = 1 To 100
    If Sheets("Sheet1").Rows(n).PageBreak <> xlPageBreakNone Then MsgBox n
  Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...