Ich habe eine Datenbank, in der jede Zeile eine Reihe von Unternehmensinformationen enthält (Name, Adresse, Website, Telefonnummer usw.). Jede Zeile enthält außerdem drei Kontakte und die entsprechenden Berufsbezeichnungen. Die Überschriften lauten „Name des CEO“, „Titel des CEO“, „Name 2“, „Titel 2“, „Name 3“, „Titel 3“. Mein Problem ist, dass beim Importieren in mein CRM nur ein Kontakt pro Zeile erfasst wird. Es sieht so aus, als müsste ich die ursprüngliche Zeile duplizieren (unter Beibehaltung aller Unternehmensinformationen) und in jeder Zeile einen Kontaktnamen angeben. Bitte helfen Sie mir dabei! Vielen, vielen Dank!!!
Antwort1
Sie können auf der Grundlage eines Excel-Makros tun, was Sie wollen. Sie müssenAktivieren Sie die Registerkarte „Entwicklertools“in Excel 2013. Zeichnen Sie dann ein Makro mit aktivierter Option „Relative Referenz verwenden“ auf und erstellen Sie eine Schleife, die Unternehmen, Name2 und Titel2 in eine neue Zeile überträgt. Wiederholen Sie dies dann für Name3 und Titel3.
Die Makroschritte sind:
- gehen Sie zu A2, vorausgesetzt, Sie haben eine Zeilenüberschrift
- Beginnen Sie mit der Aufzeichnung des Makros
- Fügen Sie eine Zeile ein, während Zeile 3 markiert ist
- Firma von oben kopieren und in neue Zeile einfügen
- Ausschneiden und einfügen von Name2, Titel 2 in die neue Zeile
- neue Zeile erneut einfügen
- Füge Name 3 und Titel in die neue Zeile ein
- Verschieben Sie dann Ihre Zelle nach A5.
- Dies ist Ihr Endpunkt für die Wiederholung des Makros.
Ihr aufgezeichnetes Makro sollte ungefähr so aussehen:
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
Wenn Sie mehr als einmal wiederholen müssen, dann haben Sieein weiteres Makrodas dieses Makro so oft aufruft, wie Sie möchten:
Sub Test()
Call Macro2(3) 'run macro 3 times
End Sub