Ulepszyłem podpunkt generatecsv(), aby obsłużyć arkusz excel, który zawiera wiele list z pustymi liniami oddzielającymi zarówno tytuły każdej listy, jak i listy od ich tytułów. przykład
list title 1
item 1
item 2
list title 2
item 1
item 2
i łączy je oczywiście w wiele wierszy, po jednym na każdą listę.
powód, dla którego klient wysłał mi wiele słów kluczowych w formacie listy dla swojej strony internetowej w oparciu o temat, potrzebował sposobu na łatwe wprowadzenie tych słów kluczowych na strony internetowe. Tak więc zmodyfikowałem rutynę i wymyśliłem co następuje, również zmieniłem nazwy zmiennych na znaczące:
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