¿Cómo escribir las celdas en filas una debajo de la otra en columnas?

¿Cómo escribir las celdas en filas una debajo de la otra en columnas?

Tengo una lista de nombre, empresa, número de teléfono, dirección y correo electrónico. Pero cada nombre que trabaja en la misma empresa está en la misma celda. Por supuesto, el resto de la información de esos nombres, como el número de teléfono, la dirección, etc., son los mismos.

Quiero escribir cada nombre debajo del otro, pero tengo que escribir la celda lateral de información. En realidad, mi lista es muy larga y no puedo terminarla hoy. No sé cómo hacerlo.

Captura de pantalla que describe el problema

Respuesta1

No estoy frente a una computadora con Windows con Excel en este momento, pero creo que este código debería crear una nueva hoja de trabajo y copiar los datos en la nueva hoja, dividiendo los nombres en filas 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

Respuesta2

Usaría el complemento Power Query para esto. Puede iniciar una consulta desde una tabla de Excel.

El comando Dividir se puede utilizar para dividir una columna según un delimitador (por ejemplo, coma). Luego usaría el comando Unpivot para convertir esas múltiples columnas en varias filas con una sola columna.

información relacionada