
Preciso de ajuda sobre como aplicar um loop do Excel VBA adequado ou copiar o conteúdo da célula e colar o próximo conjunto de células vazias em cada linha. À medida que percorre cada linha, ele copia e cola apenas as próximas células vazias e novamente copia o conteúdo da próxima célula preenchida e cola nas próximas células vazias até que cada linha seja preenchida. Preciso aplicar isso a uma tabela que contém cerca de 5.000 linhas. Qualquer ajuda será muito apreciada. A tabela original e o resultado esperado da tabela devem ser os seguintes: As tabelas de amostra
Responder1
O abaixo deve resolver o problema. Observe que o texto abaixo substituirá a tabela apenas por valores; portanto, se sua tabela tiver fórmulas, as fórmulas serão perdidas à medida que forem substituídas por valores.
Sub SuperUserHelp()
Dim TempArray As Variant, x As Long, y As Long
Dim ValueNow As Variant, SheetName As String, TableAddress As String
SheetName = "Sheet1" 'Set your sheet name here
TableAddress = "A1:E5" 'Set your table range here
TempArray = Sheets(SheetName).Range(TableAddress).Value
For x = 1 To UBound(TempArray, 1)
ValueNow = Empty 'new row defaults to
For y = 1 To UBound(TempArray, 2)
If TempArray(x, y) = Empty Then
TempArray(x, y) = ValueNow
Else
ValueNow = TempArray(x, y)
End If
Next y
Next x
Sheets(SheetName).Range(TableAddress).Value = TempArray
End Sub