我有一个数据库,其中每一行包含各种公司信息(名称、地址、网站、电话等)。每一行还包含三个联系人及其相应的职称。标题为 CEO 姓名、CEO 职称、姓名 2、职称 2、姓名 3、职称 3。我的问题是,当导入我的 CRM 时,每行只捕获一个联系人。看来我需要复制原始行(保留所有公司信息)并在每行上有一个联系人姓名。请帮我实现这一点!非常感谢!!!
答案1
您可以根据 Excel 宏执行所需的操作。您必须打开“开发人员”选项卡在 Excel 2013 中。然后录制一个启用“使用相对引用”的宏,并创建一个循环,将 company、name2、title2 带到新行。然后对 name3 和 title3 再次执行此操作。
宏观步骤为:
- 假设你有一个行标题,转到 A2
- 开始录制宏
- 在突出显示第 3 行时插入一行
- 将上面的公司复制并粘贴到新行中
- 将 name2、title 2 剪切并粘贴到新行
- 再次插入新行
- 可爱并粘贴名称 3 和标题到新行
- 然后将您的单元格移至 a5。
- 这将是您重复宏的终点。
您录制的宏应如下所示:
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
如果你需要重复多次,那么你必须另一个宏调用此宏的次数是您想要的:
Sub Test()
Call Macro2(3) 'run macro 3 times
End Sub