Mejoré la sub-generacióncsv() 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 las combina por supuesto en múltiples filas, 1 por lista.
por lo tanto, tuve un cliente que me envió múltiples palabras clave en formato de lista para su sitio web basado en el tema, necesitaba una manera de conseguir estas palabras clave en las páginas web fácilmente. Así que modifiqué la rutina y se me ocurrió lo siguiente, también cambié los nombres de las variables a nombres con significado:
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