Mejoré el subgenerador generatecsv () para manejar una hoja de Excel que contiene múltiples listas con líneas en blanco que separan tanto los títulos de cada lista como las listas de sus títulos. ejemplo
list title 1
item 1
item 2
list title 2
item 1
item 2
y, por supuesto, los combina en varias filas, 1 por lista.
Por eso, un cliente me envió varias palabras clave en formato de lista para su sitio web en función del tema, necesitaba una forma de introducir estas palabras clave en las páginas web fácilmente. Entonces modifiqué la rutina y se me ocurrió lo siguiente, también cambié los nombres de las variables a nombres significativos:
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