Ich verbesserte das Unterprogramm generatecsv(), um mit einer Excel-Tabelle umgehen zu können, die mehrere Listen mit Leerzeilen enthält, die sowohl die Titel der einzelnen Listen als auch die Listen von ihren Titeln trennen. Beispiel
list title 1
item 1
item 2
list title 2
item 1
item 2
und kombiniert sie natürlich in mehreren Zeilen, 1 pro Liste.
Aus dem Grund, dass ich von einem Kunden mehrere Schlüsselwörter im Listenformat für seine Website basierend auf dem Thema erhalten hatte, brauchte ich eine Möglichkeit, diese Schlüsselwörter leicht in die Webseiten zu bekommen. Also habe ich die Routine modifiziert und mir folgendes einfallen lassen, außerdem habe ich die Variablennamen in aussagekräftige Namen geändert:
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