Travis pregunta:
Estoy tratando de formatear un texto en columnas separadas. El texto está en una columna de la siguiente manera:
UN Nombre de la empresa A PO BOX 1 NEWARK NJ 07101 Nombre de la empresa B PO BOX 2 1400 SANS SOUCI PARKWAY WILKES-BARRE PA 18703 Nombre de la empresa C PO BOX 3 CHICAGO IL 60694 Nombre de la empresa D PO BOX 4 CLEARFIELD UT 84015 Nombre de la empresa E PO BOX 5 OGDEN UT 84401 Nombre de la empresa F PO BOX 6 BALTIMORE MD 21264-4351 Cuando formateé la prueba para sobresalir, hice esta columna como se ilustra arriba. Me gustaría conocer una fórmula en la que pueda hacer que los datos aparezcan en una fila en lugar de en varias filas para la empresa, la fórmula debería resultar si me da lo siguiente en una fila pero en diferentes columnas:
Todo en la misma FILA
UN segundo C Nombre de la empresa A PO BOX 1 NEWARK NJ 07101 He usado vlookups y hlookups y tablas dinámicas, pero no puedo averiguar cómo obtener la fecha si es una fila por fila.
He podido hacer que los nombres de las empresas aparezcan fila por fila en una columna ordenando y pensé que podría usar una combinación de vlookup con hlookup para darme los resultados que estaba buscando, pero no sé el fórmula adecuada para anidar en la búsqueda de éter. También probé algunas funciones de DSUM, pero ¿ninguna me funciona? Por favor, avíseme qué o cómo solucionar mi problema.
Creo que esto se puede lograr fácilmente usando una macro. Prueba este.
Sub CopyAcross() Dim i As Long Dim NRow As Long Dim LastRow As Long NRow = 2 'First Row TO COPY, change this if you want i = 2 'First Row where the data appears, I assumed it started in A2 LastRow = Range("A65536").End(xlUp).Row While i <= LastRow Range(Cells(i, 1), Cells(i, 1).End(xlDown)).Copy Cells(NRow, 2).PasteSpecial Transpose:=True 'In here, I'm copying to Column 2, Next availabe Row. You can change the 2 if you want. NRow = NRow + 1 i = Cells(i, 1).End(xlDown).End(xlDown).Row Wend End Sub