Почему мой код не работает? Это из-за LastRow0 = .Cells (.Rows.Count, «AI»).End(xlUp).row

#excel #vba

#excel #vba

Вопрос:

Приведенный ниже код работает, только если моя таблица заканчивается на столбце AJ. Моя таблица может заканчиваться до столбца AJ. Как я могу изменить код, чтобы он работал, когда моя таблица заканчивается в любом столбце?

Заранее благодарю вас.

 Dim row As Long, Column As Long
With ThisWorkbook.Worksheets("Data")
    LastRow0 = .Cells(.Rows.Count, "AI").End(xlUp).row
    For row = 8 To LastRow0 Step 3
        For Column = 5 To 35
            If Cells(row, Column).Value = "" Then
                Cells(row, Column).Value = 0
            End If
        Next Column
    Next row
End With
  

Ответ №1:

Вы нашли lastRow, теперь вам нужен lastColumn.

 Dim row As Long, Column As Long
With ThisWorkbook.Worksheets("Data")
    LastRow0 = .Cells(.Rows.Count, "AI").End(xlUp).row
    .UsedRange
    LastCol0 = .UsedRange.Columns(.UsedRange.Columns.Count).Column
    For row = 8 To LastRow0 Step 3
        For Column = 5 To LastCol0
            If Cells(row, Column).Value = "" Then
                Cells(row, Column).Value = 0
            End If
        Next Column
    Next row
End With
  

Комментарии:

1. Большое вам спасибо, это сработало! Большое спасибо! . это было так очевидно, но в то же время сложно для меня. Я все еще учусь :/

2. Рад, что смог помочь.