Я улучшил generatecsv() sub для работы с листом excel, который содержит несколько списков с пустыми строками, отделяющими и заголовки каждого списка, и списки от их заголовков. пример
list title 1
item 1
item 2
list title 2
item 1
item 2
и объединяет их, конечно, в несколько строк, по 1 на список.
причина, я заставил клиента прислать мне несколько ключевых слов в формате списка для их сайта на основе темы, нужен был способ, чтобы эти ключевые слова легко попадали на веб-страницы. Так что изменил рутину и придумал следующее, также я изменил имена переменных на среднезначимые:
Sub generatecsv()
Dim dataRow As Integer
Dim listRow As Integer
Dim data As String
dataRow = 1: Rem the row that it is being read from column A otherwise known as 1 in vb script
listRow = 1: Rem the row in column B that is getting written
Do Until Cells(dataRow, 1).Value = "" And Cells(dataRow + 1, 1).Value = ""
If (data = "") Then
data = Cells(dataRow, 1).Value
Else
If Cells(dataRow, 1).Value <> "" Then
data = data & "," & Cells(dataRow, 1).Value
Else
Cells(listRow, 2).Value = data
data = ""
listRow = listRow + 1
End If
End If
dataRow = dataRow + 1
Loop
Cells(listRow, 2).Value = data
End Sub