Я улучшил подпрограмму generatecsv () для обработки листа 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