-2

У меня есть база данных, где каждая строка содержит различную информацию о компании (имя, адрес, веб-сайт, телефон и т.д.). Каждая строка также содержит три контакта и их соответствующий заголовок. Заголовки: Имя генерального директора, Должность генерального директора, Имя 2, Название 2, Имя 3, Название 3. Моя проблема заключается в том, что при импорте в мой CRM он захватывает только один контакт на строку. Похоже, мне нужно дублировать исходную строку (с сохранением всей информации о компании) и иметь одно имя контакта в каждой строке. Пожалуйста, помогите мне сделать это! Спасибо оооочень большое !!!

1 ответ1

2

Вы можете делать что хотите на основе макроса Excel. Вы должны включить вкладку Разработчик в Excel 2013. Затем запишите макрос с включенным "Использовать относительную ссылку" и создайте цикл, который перенесет company, name2, title2 в новую строку. Затем сделайте это снова для name3 и title3.

Макро шаги:

  1. перейти к A2, если у вас есть заголовок строки
  2. начать запись макроса
  3. вставить строку, когда выделена строка 3
  4. скопируйте и вставьте компанию сверху в новом ряду
  5. вырезать и вставить name2, title 2 в новую строку
  6. вставьте новую строку снова
  7. мило и вставить имя 3, и заголовок на новую строку
  8. затем переместите свою ячейку на a5.
  9. Это будет ваша конечная точка для повторения макроса.

Excel Macro

Ваш записанный макрос должен выглядеть примерно так:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .