Excel - CRM にインポートするデータベースを管理する

Excel - CRM にインポートするデータベースを管理する

各行にさまざまな会社情報 (名前、住所、Web サイト、電話など) が含まれているデータベースがあります。各行には、3 つの連絡先とそれに対応する役職も含まれています。ヘッダーは、CEO 名、CEO 役職、名前 2、役職 2、名前 3、役職 3 です。問題は、CRM にインポートするときに、行ごとに 1 つの連絡先しか取得されないことです。元の行を複製し (会社情報はすべて維持)、各行に 1 つの連絡先名を設定する必要があるようです。これを実現できるようにしてください。本当にありがとうございます。

答え1

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マクロ

記録されたマクロは次のようになります。

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

関連情報