Como escrever as células em linhas, uma abaixo da outra, em colunas?

Como escrever as células em linhas, uma abaixo da outra, em colunas?

Tenho uma lista de nome, empresa, telefone, endereço e e-mail. Mas cada nome que trabalha na mesma empresa está na mesma cela. Claro, as outras informações desses nomes, como número de telefone, endereço, etc., são as mesmas.

Quero escrever cada nome abaixo do outro, mas tenho que escrever a célula lateral de informações dele. Na verdade, minha lista é muito longa e não posso terminá-la hoje. Eu não sei como fazer.

Captura de tela descrevendo o problema

Responder1

Não estou na frente de um computador Windows com Excel no momento, mas acredito que esse código deva criar uma nova planilha e copiar os dados para a nova planilha, dividindo os nomes em linhas separadas.

Sub CopyRowsAndSplitNames
  Dim srcSheet As Excel.Worksheet
  Set srcSheet = Excel.Application.Sheets("Sheet1") ' Change this to whatever your worksheet is called

  Dim dstSheet As Excel.Worksheet
  Set dstSheet = Excel.Application.Sheets.Add()

  srcSheet.Rows(1).Copy dstSheet.Rows(1)

  Dim dstRow as Integer
  dstRow = 1

  Dim strName As String
  Dim strNames As String()
  Dim srcRow as Integer
  For srcRow = 2 to srcSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    strNames = Split(srcSheet.Cells(row, 3).Value, ",")
    For Each strName in strNames
      dstRow = dstRow + 1
      srcSheet.Row(srcRow).Copy dstSheet.Row(dstRow)
      dstSheet.Cells(dstRow, 3).value = strName
    Next
  Next
End Sub

Responder2

Eu usaria o suplemento Power Query para isso. Você pode iniciar uma consulta a partir de uma tabela do Excel.

O comando Split pode ser usado para dividir uma coluna com base em um delimitador (por exemplo, vírgula). Então eu usaria o comando Unpivot para transformar essas múltiplas colunas em múltiplas linhas com uma única coluna.

informação relacionada