Tengo una base de datos donde cada fila contiene una variedad de información de la empresa (nombre, dirección, sitio web, teléfono, etc. Cada fila también contiene tres contactos y su título correspondiente. Los encabezados son Nombre del CEO, Título del CEO, Nombre 2, Título 2, Nombre 3, Título 3. Mi problema es que al importar a mi CRM, solo captura un contacto por fila. Parece que necesito duplicar la fila original (manteniendo toda la información de la empresa) y tener un nombre de contacto en cada fila. ¡¡¡Por favor ayúdame a que eso suceda!!!
Respuesta1
Puedes hacer lo que quieras basándose en una macro de Excel. Tienes queactivar la pestaña Desarrolladoren Excel 2013. Luego grabe una macro con "Usar referencia relativa" activada y cree un bucle que llevará empresa, nombre2, título2 a una nueva fila. Luego hazlo nuevamente para nombre3 y título3.
Los macro pasos son:
- vaya a A2 asumiendo que tiene un encabezado de fila
- empezar a grabar la macro
- inserta una fila mientras tienes la fila 3 resaltada
- Copie y pegue la empresa desde arriba en la nueva fila.
- corte y pegue nombre2, título 2 en la nueva fila
- insertar nueva fila nuevamente
- lindo y pegue el nombre 3 y el título en la nueva fila
- luego mueve tu celda a a5.
- Este será tu punto final para repetir la macro.
Su macro grabada debería verse así:
Sub Macro2()
'
' Macro2 Macro
'
'
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 3).Range("A1").Select
Application.CutCopyMode = False
Selection.Cut
ActiveCell.Offset(1, -2).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 3).Range("A1").Select
Selection.Cut
ActiveCell.Offset(1, -2).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-2, 5).Range("A1").Select
Application.CutCopyMode = False
Selection.Cut
ActiveCell.Offset(2, -4).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-2, 5).Range("A1").Select
Selection.Cut
ActiveCell.Offset(2, -4).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, -2).Range("A1").Select
End Sub
Si necesita repetir más de una vez, entonces tieneotra macroque llama a esta Macro la cantidad de veces que quieras:
Sub Test()
Call Macro2(3) 'run macro 3 times
End Sub