Aprimorei o sub generatecsv () para lidar com uma planilha do Excel que contém várias listas com linhas em branco que separam os títulos de cada lista e as listas de seus títulos. exemplo
list title 1
item 1
item 2
list title 2
item 1
item 2
e os combina naturalmente em várias linhas, uma por lista.
Por isso, um cliente me enviou várias palavras-chave em formato de lista para o site com base no assunto e precisava de uma maneira de inserir essas palavras-chave nas páginas da web com facilidade. Então modifiquei a rotina e criei o seguinte, também mudei os nomes das variáveis para meaninful names:
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