Ik heb de generatecsv() sub verbeterd om te kunnen omgaan met een excel sheet die meerdere lijsten bevat met lege regels die zowel de titels van elke lijst als de lijsten van hun titels scheiden. voorbeeld
list title 1
item 1
item 2
list title 2
item 1
item 2
en combineert ze natuurlijk in meerdere rijen, 1 per lijst.
reden, ik had een klant me meerdere trefwoorden in lijstformaat laten sturen voor hun website op basis van het onderwerp, had een manier nodig om deze trefwoorden gemakkelijk in de webpagina’s te krijgen. Dus wijzigde ik de routine en kwam met het volgende, ook wijzigde ik de variabele namen in betekenisvolle namen:
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