Eu tenho um banco de dados onde cada linha contém uma variedade de informações da empresa (nome, endereço, site, telefone, etc. Cada linha também contém três contatos e seu cargo correspondente. Os cabeçalhos são Nome do CEO, Título do CEO, Nome 2, Título 2, Nome 3, Título 3. Meu problema é ao importar para meu CRM, ele captura apenas um contato por linha. Parece que preciso duplicar a linha original (mantendo todas as informações da empresa) e ter um nome de contato em cada linha. . Por favor, me ajude a fazer isso acontecer!
Responder1
Você pode fazer o que quiser com base em uma macro do Excel. Você tem queative a guia Desenvolvedorno Excel 2013. Em seguida, grave uma macro com "Usar referência relativa" ativada e crie um loop que levará empresa, nome2, título2 para uma nova linha. Então faça isso novamente para name3 e title3.
As etapas macro são:
- vá para A2 assumindo que você tem um cabeçalho de linha
- comece a gravar a macro
- insira uma linha enquanto você tem a linha 3 destacada
- copie e cole a empresa de cima na nova linha
- recorte e cole nome2, título 2 na nova linha
- insira nova linha novamente
- fofo e cole o nome 3 e o título na nova linha
- em seguida, mova sua célula para a5.
- Este será o seu ponto final para repetir a macro.
Sua macro gravada deve ser parecida com isto:
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
Se precisar repetir mais de uma vez, você teráoutra macroque chama essa macro quantas vezes você quiser:
Sub Test()
Call Macro2(3) 'run macro 3 times
End Sub