Цикл по строкам / столбцам каждой * страницы * в Excel - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу сделать стандартный цикл для каждой страницы в моей рабочей таблице. Внешний цикл - строки, внутренний цикл - столбцы. В случае изменения макета страницы, я хочу, чтобы цикл автоматически приспосабливался к новым границам.

В любом случае можно найти начальные и конечные строки и столбцы для каждой страницы?

Я уже пытался использовать объекты VPageBreaks и HPageBreaks из объекта «Рабочий лист», но это не работает, если в рабочем листе нет фактических разрывов страниц.

1 Ответ

2 голосов
/ 04 апреля 2019

Вы можете использовать свойство ws.UsedRange для получения последней строки и столбца.Если вы пытаетесь просмотреть различные рабочие листы , то приведенный ниже код должен работать.

Sub loop_through_all()

    Dim ws As Worksheet
    Dim r As Integer, c As Integer

    For Each ws In ActiveWorkbook.Sheets

        For r = 1 To ws.UsedRange.Rows.Count
            For c = 1 To ws.UsedRange.Columns.Count

                ' Your code goes here

            Next
        Next

    Next

End Sub

Если вы пытаетесь просмотреть страниц , как вы видите их на рабочем листе, то поймите, что это один гигантский лист.Если у вас есть данные, показанные в «таблицах» по всему листу, и вы хотите проанализировать их по отдельности, тогда потребуется немного больше работы, и вам следует использовать метод .End().

Cells(Rows.Count, 1).End(xlUp).Row
Cells(1, Columns.Count).End(xlToLeft).Column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...