Я пытаюсь написать небольшой раздел кода, чтобы создать новый лист и вставить значения из таблицы в исходном листе, начиная со строки 2, столбец 1 через столбец 4. После этого достигает конца, мне нужно, чтобы он перешел в следующую строку и начал все заново.Excel VBA - Loop к следующей доступной пустой ячейке
Проблема заключается в том, что приведенный ниже код возвращается к строке 1 нового листа и данные переопределяются. Есть ли простой способ, чтобы мой цикл начинался с первой пустой строки вниз?
[2
Sub SAX()
Dim wsSource As Excel.Worksheet, wsData As Excel.Worksheet
Dim r As Long, c As Long
Set wsData = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
wsData.Name = "Data"
Set wsSource = ThisWorkbook.Worksheets("Header")
Application.DisplayAlerts = False
r = 2
Do Until Len(Trim(wsSource.Cells(r, 1).Value)) = 0
For c = 1 To 4
wsData.Cells(c * 1, 1).Value = wsSource.Cells(r, c).Value
Next c
ThisWorkbook.Activate
r = r + 1
Loop
Application.DisplayAlerts = True
End Sub
Предоставление некоторые скриншоты из входных данных и желаемый результат может быть полезным здесь ... –
@DavidZemens Я обновил добавить входные выборки данных с требуемым выходом. –