¿Esto se puede hacer con la función CONCATENAR?

Hola, necesito formatear información en excel de una base de datos muy extensa. La cuestión es que la información viene en diferentes celdas, más o menos así:
ABCD
1Nombre:JuanTeléfono:232323
2-------------------
3Domicilio:XXXCiudad:Mexico
y esto, necesito pasarlo a un formato de columnas:
ABCD
1NombreCiudadTelefonoDomicilio (esta fila sería el encabezado)
2JuanMexico232323XXX
Copiando y pegando es bueno, pero son cerca de 1200 proveedores! ¿Hay alguna fórmula para acelerar esto?
Un millón de Gracias!

1 Respuesta

Respuesta
1
Tendrás que escribir nuevamente la consulta, que como verás vino llena de basura...
Ahora me doy cuenta, quise simular las filas y columnas. Pero en fin, a ver si logro explicarlo:
La información que me mandaron parece como un formulario con distintos campos, lo que yo necesito es hacer una base de datos en la que haya un encabezado por cada columna, y hacia abajo todos los datos. No sé si se pueda, pero te dejo este link de una imagen del archivo.
Y gracias de nuevo...
http://www.imagebam.com/image/225e4485394918
Si todas las 'fichas' vienen con sus datos en la misma ubicación se puede hacer una macro con un bucle que recorra cada ficha y 'ubique' cada campo en filas sucesivas.
Lo que me faltaría saber es cómo se presentan esas fichas: 1 registro por hoja, 1 registro por libro, varios registros en 1 hoja, etc...
Con funciones sería 1 para cada campo, de un total de 1200 filas por cerca de 20 col, no me parece apropiado. Y también será necesario conocer en qué hoja o rango se encuentra cada registro.
Espero tu confirmación
Ya comienzo a ver la luz en esto...
Bueno, ya al final quedarían 13 columnas, pero sí, todos los registros están en una sola hoja de excel.
Gracias eternas
Mmmm, no estoy muy segura de que me hayas comprendido mi consulta:
Si todos los registros están en la misma hoja, significa que están ubicados a cierta distancia unos de otros.
En la imagen que dejaste se vé 1 registro, que supongamos el titulo se ubica en fila1, lo que llegaría hasta la fila 15 aprox.
Bien, ahora ¿dónde está el registro siguiente?: A la derecha o hacia abajo... y si el campo N°proveedor (10 Impreofincinas...) está en celda B3, ¿en qué celda está el registro siguiente?.
Disculpa que insista pero no sirve que escriba una rutina que luego no se ajusta a tus datos.
Quedo a la espera de tus aclaraciones
Sdos
Elsa
Una vez más... muchísimas gracias Elsa, perdón que no te entienda pero soy de plano novato en esto de excel, bueno mira, como ya vi que pudiste ver la imagen, me tomo la libertad de enviarte otras 2. Muestra 1.jpg es un segmento del archivo de las fichas, creo que aparecen 3, y las 1200 más extras están acomodadas de igual manera; como_debería_quedar.jpg es una muestra de lo que empecé a hacer en otro archivo, que es como necesito acomodar la información. Ojala me esté dando a entender.
Gracias!
http://www.imagebam.com/image/42626885495245
http://www.imagebam.com/image/0eda7885495250
Bien, entonces la rutina es esta, que falta que la completes.
En tu libro que estás armando, entrá al Editor, insertá un módulo y allí copiá esta macro:
Sub paseFichas()
'x Elsamatilde
'se parte de tener los 2 libros abiertos
'se fija variable filaf como 3 para el primer grupo de fichas
'y fila1 = 2 para el destino en libro actual
fila1 = 2
filaf = 3
libro2 = "FICHAS.XLS"   'AJUSTAR NOMBRE-el libro Fichas ya estará abierto
'se repite el bucle mientras filaf <= 1200   'ATENCIÓN VER NOTA1
While filaf <= 1200
    ActiveSheet.Range("A" & fila1) = Workbooks(libro2).Sheets(1).Range("B" & filaf)     'n° prov
    ActiveSheet.Range("B" & fila1) = Workbooks(libro2).Sheets(1).Range("B" & filaf + 1)   'DIREC-ATENCIÓN VER NOTA 2
    ActiveSheet.Range("C" & fila1) = Workbooks(libro2).Sheets(1).Range("D" & filaf + 1)   'TEL
    ActiveSheet.Range("D" & fila1) = Workbooks(libro2).Sheets(1).Range("D" & filaf + 6)   'FAX
    ActiveSheet.Range("E" & fila1) = Workbooks(libro2).Sheets(1).Range("B" & filaf + 7)   'EMAIL
    ActiveSheet.Range("F" & fila1) = Workbooks(libro2).Sheets(1).Range("B" & filaf + 8)   'RFC
    'completar el resto de los campos
    'COMO el próximo grupo empieza con N°Prov en fila16, se incrementa la variable filaf en 13
filaf = filaf + 13
    'se incrementa la variable fila1 en 1 para pasar al renglón siguiente
    fila1 = fila1 + 1
'se cierra el bucle
Wend
End Sub
NOTA1: de alguna manera hay que establecer el fin de rango, es decir un nro que sea mayor a la fila del última campo N°Proveedor.
NOTA2: para dejar toda la dirección tenés que concatenar cada campo, quedándote así
ActiveSheet.Range("B" & fila1) = Workbooks(libro2).Sheets(1).Range("B" & filaf + 1)   & Workbooks(libro2).Sheets(1).Range("B" & filaf + 3) & Workbooks(libro2).Sheets(1).Range("B" & filaf + 4) & Workbooks(libro2).Sheets(1).Range("B" & filaf + 5)
Prepará tu libro, realizá los ajustes en la rutina y pruébala. Si todo quedó bien, no olvides regresar aquí a finalizar la consulta.
Hola Elsa, pues muchísimas gracias por tu ayuda, te comento algo que probablemente debí haberte dicho desde el principio: estoy trabajando en excel 2007 pero en plataforma Mac, y hasta donde supe, el editor funciona de manera distinta, no desde el editor de macros. Aún así, lo intenté en un PC con una versión más antigua de excel, pero pues como te comentaba, soy un total novato en el uso de excel y pues aunque intenté modificar o ajustar la macro que me mandaste (si encontré el editor, sí copié y pegué la macro y definitivamente intenté sustituir los valores entre paréntesis por los de los archivos) pero no pude hacer que funcionara, muchísimas gracias por tu ayuda y pues, desde mi punto de vista tengo que dividir mi tiempo en2 tareas: 1. Seguir tratando de echar a andar la macro que me mandaste y 2. mientras lo consigo... copiar y pegar para aventajar... muchas, muchísimas, Muchísimas gracias nuevamente por tu ayuda!
ups... pequeño detalle te olvidaste ;)
En este foro, dentro de la categoría Tecnología e Internet encontrarás expertos en Mac.
Ya tenés la rutina, solo te resta encontrar alguno que te la ajuste para tu versión.
Sdos. No olvides finalizar la consulta para poder seguir con otras.
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas