Копировать значение в следующую пустую ячейку

Я хочу найти пустые ячейки и скопировать туда значения:

введите описание изображения здесь

Значения: «10/11/2017» и «Да» должны быть скопированы в строку 7 (colB & colC).

Что у меня есть:

Sub add_value() Dim wbA As Workbook Dim wsA As Worksheet Set wbA = ActiveWorkbook Set wsA = wbA.Worksheets("Sheet1") Dim nrow As Long nrow = 6 Do Until wsA.Range("B" & nrow).Value = "" wsA.Range("B" & nrow).Value = wsA.Range("B3").Value wsA.Range("C" & nrow).Value = wsA.Range("C3").Value Exit Sub nrow = nrow + 1 Loop End Sub 

Что-то не так с моей петлей, и я не знаю, как это исправить.

Не нужно перебирать строки, пока не найдете пустую. Вы можете заменить весь элемент следующим:

 Sub add_value() With ThisWorkbook.Worksheets("Sheet1") .Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0).Resize(1, 2).Value = .Range("B3:C3").Value End With End Sub 

В соответствии с вашими комментариями, чтобы добавить границы, вы можете немного изменить схему кода следующим образом:

 Sub add_value() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") With ws.Cells(ws.Rows.Count, "B").End(xlUp).Offset(1, 0).Resize(1, 2) .Value = ws.Range("B3:C3").Value .Borders(xlEdgeLeft).LineStyle = xlContinuous End With End Sub 

Я бы сделал что-то вроде этого:

 Sub FindFirstEmptyValue() Dim lastRow As Long With Worksheets("Sheet1") lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 .Cells(lastRow, 2) = .Range("B3").value .Cells(lastRow, 3) = .Range("C3").value End With End Sub 

Он дает вам последнюю строку, вы увеличиваете ее на 1, и в этой строке вы записываете значения B3 и C3 .

Interesting Posts

Общая сумма для сводной таблицы не дает мне правильной суммы при использовании расчетного поля

Как сохранить данные на 1 лист в Excel

как исправить исключение в var chartObject = charts.Add (60, 10, 600, 300) как Microsoft.Office.Interop.Excel.ChartObject?

Рассеяющая ячейка Excel Interop с использованием диапазона

Превосходный текст без строки HTML VBA

Изменение формата даты для GROUPED дат в таблице PIVOT

Apache POI – Cant получает значения линейной диаграммы, которые появляются во вторичной оси

Использование VBA – гиперссылки, где гиперссылка является переменной (на основе формулы Address & Match)

Создание всплывающих окон через неделю

Как узнать, существует ли узел в xml перед добавлением другого?

Добавление нового столбца в начале таблицы excel в excel

Случай Excel VBA, не признающий значение ячейки

Откройте встроенный объект в Excel с помощью VBA

как создать csv excel-лист с помощью php, чтобы я мог использовать некоторый стиль, также как и размер шрифта и шрифт

Управление аббревиатурами

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