Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: alitaAngel от 11 февраля 2019, 11:32

Название: Excel VBA Макросы: Как пройтись по строкам и столбцам диапазона?
Отправлено: alitaAngel от 11 февраля 2019, 11:32
Можно код сократить, или же нужно 189 раз прописать одно и тоже для каждой строки?
Есть заданный диапазон ячеек, 189 строк и неизвестное кол-во столбцов (от 2 до 300).
Прописала макрос для 1 строки, идет циклом:
If Cells(13, i) < 70 And Cells(13, i) > 0 Then
Cells(13, i).Interior.Color = vbYellow

Строк всегда одно и тоже количество, а вот столбцов разное. Обычно я работаю в цикле до последнего заполненного столбца:
lastcol = Sheets(1).Cells(10, Columns.Count).End(xlToLeft).Column
Dim i As Integer
For i = [G10].Column To lastcol
Название: Re: Excel VBA Макросы: Как пройтись по строкам и столбцам диапазона?
Отправлено: Администратор от 11 февраля 2019, 11:39
В программировании неофициально принято двигаться по строкам, используя переменную 'i', а по столбцам - используя переменную 'j'.

Sub Макрос()

    Dim lc As Long, i As Long, j As Long
   
    ' End не ищет в скрытых столбцах.
    lc = Cells(10, Columns.Count).End(xlToLeft).Column
    For i = 13 To 189
        For j = Columns("G").Column To lc
            ' Вывод содержимого ячейки в View - Immediate Window.
            Debug.Print Cells(i, j).Value
        Next j
    Next i

End Sub