Поместите текст «общий» в пустые ячейки

Мой код помещает текст в пустую ячейку, но не заполняет ее до границы.

Я хочу поместить текст «общий» в пустые ячейки столбца E, но не заполняет его до конца bcoz строки.

вот мой код:

Sub FindandReplace() Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer Dim currentRowValue As String sourceCol = 5 'column E has a value of 5 rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row 'for every row, find the first blank cell and select it For currentRow = 1 To rowCount currentRowValue = Cells(currentRow, sourceCol).Value If IsEmpty(currentRowValue) Or currentRowValue = "" Then Cells(currentRow, sourceCol) = "general" End If Next End Sub 

В результате получается следующее: (еще пустой столбец E)

 Column E Column F general Use-Limit general Use-Limit XL354L,XL354H,XL356L,XL356H Use-Limit XL353,XL355,XL357 Use-Limit Use-Limit Use-Limit Use-Limit Use-Limit 

    Объяснение вашей ошибки : вы ищете последнюю строку в столбце E , в которой у вас есть 4 строки данных (глядя на ваш пример). Однако столбец F имеет 8 строк данных. Поэтому, если вы хотите пройти через строку 8, вам нужно искать последнюю строку в столбце F , а не в столбце E.

    Попробуйте модифицированный код ниже:

     Sub FindandReplace() Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer Dim currentRowValue As String sourceCol = 6 ' find last row in column F rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row 'for every row, find the first blank cell and select it For currentRow = 1 To rowCount currentRowValue = Cells(currentRow, sourceCol-1).Value If IsEmpty(currentRowValue) Or currentRowValue = "" Then Cells(currentRow, sourceCol-1) = "general" End If Next End Sub 
     Sub FindandReplace() Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer Dim currentRowValue As String sourceCol = 5 ' find last row in column F rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row rowCount2 = Cells(Rows.Count, sourceCol + 2).End(xlUp).Row ' add this to loop 8 times 'for every row, find the first blank cell and select it For currentRow = 1 To rowCount2 currentRowValue = Cells(currentRow, sourceCol).Value If IsEmpty(currentRowValue) Or currentRowValue = "" Then Cells(currentRow, sourceCol) = "general" End If Next End Sub 
    Interesting Posts

    Ошибка VBA (тип MIsmatch) при создании сводной таблицы

    VBA: как отображать флажок только при условии состояния ячейки

    Excel Python, сохраняющий новый каталог

    Импортируйте txt-файл с открытым диалоговым окном файла и разбивайте их на ячейки

    Excel: использование таблицы в качестве источника для выпадающего меню

    Хотите остановить COUNTBLANK в последней строке без данных

    Excel C # COM-аддон, возвращающий массив с датами и парными разрядами

    Считать пустые ячейки в нескольких столбцах, используя массив VBA

    Макрос Excel для циклических ячеек, если значение – это истинные выходные данные на другой рабочий лист

    Открытие выбранного URL в браузере по умолчанию (Chrome) в MS Excel

    Excel десятичное округление

    VBA Excel Разделить лист на каждый столбец

    SIMPLE Удалить строку из ячейки?

    Как очистить текст от нескольких гиперссылок с помощью VBA

    переменная объекта / с переменной блока не установлена ​​debug

    Давайте будем гением компьютера.