Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel vcards erstellen

Excel vcards erstellen
05.09.2014 11:27:40
Soujon
Hallo,
ich suche nach einer Lösung für folgendes Problem:
Ich möchte eine Excel Datei schreiben, aus der ich nachher eine vcard erstellen kann.
So sieht eine normale vcard aus:
BEGIN:VCARD
VERSION:2.1
N:Nachname;Vorname
FN:Vorname Nachname
ORG:Firma
TEL;WORK;VOICE:Telefon (geschäftlich)
REV:20140904T111216Z
END:VCARD
In einer Tabelle habe ich einen Export aus unserem Adressbuch mit ca. 5000 Einträgen und in einer weiteren würde ich nun gerne zu jedem Adressbucheintrag einen vcard Eintrag erstellen.
Folegende Lösung habe ich mir überlegt:
BEGIN:VCARD
VERSION:2.1
=VERKETTEN("N:";directory!A2;";";directory!B2)
=VERKETTEN("FN:";directory!B2;" ";directory!A2)
ORG:(wird kopiert)
=VERKETTEN("TEL;WORK;VOICE:";directory!E2)
REV:20140904T111216Z
END:VCARD
BEGIN:VCARD
VERSION:2.1
=VERKETTEN("N:";directory!A3;";";directory!B3)
=VERKETTEN("FN:";directory!B3;" ";directory!A3)
ORG:(wird kopiert)
=VERKETTEN("TEL;WORK;VOICE:";directory!E3)
REV:20140904T111216Z
END:VCARD
für den Algorythmus der weitere Eintag...
Nun zu meinem Problem:
Versuche ich diese Zellen "runter zuziehen" fährt er mit folgendem Algorythmus fort:
BEGIN:VCARD
VERSION:2.2
=VERKETTEN("N:";directory!A18;";";directory!B18)
=VERKETTEN("FN:";directory!B18;" ";directory!A18)
ORG:****
=VERKETTEN("TEL;WORK;VOICE:";directory!E18)
REV:20140904T111216Z
END:VCARD
BEGIN:VCARD
VERSION:2.3
=VERKETTEN("N:";directory!A19;";";directory!B19)
=VERKETTEN("FN:";directory!B19;" ";directory!A19)
ORG:****
=VERKETTEN("TEL;WORK;VOICE:";directory!E19)
REV:20140904T111216Z
END:VCARD
BEGIN:VCARD
VERSION:2.3
=VERKETTEN("N:";directory!A34;";";directory!B34)
=VERKETTEN("FN:";directory!B34;" ";directory!A34)
ORG:****
=VERKETTEN("TEL;WORK;VOICE:";directory!E34)
REV:20140904T111216Z
END:VCARD
BEGIN:VCARD
VERSION:2.3
=VERKETTEN("N:";directory!A35;";";directory!B35)
=VERKETTEN("FN:";directory!B35;" ";directory!A35)
ORG:****
=VERKETTEN("TEL;WORK;VOICE:";directory!E35)
REV:20140904T111216Z
END:VCARD
Er scheint den Algorythmus für 2 Einträge zu verstehen nimmt dann aber immer für den nächsten "Satz" die Zelle in der die Formel eingetragen ist (z.B.=VERKETTEN("N:";directory!A34;";";directory!B34) Steht in der Zelle 34) zu nehmen.
Ich hoffe das klingt nicht zu verwirrend.
Vielen Dank und Gruß
Soujon

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel vcards erstellen
06.09.2014 16:53:07
fcs
Hallo Soujon,
probiere es mak mit den folgenden Formeln.
Beim Runterziehen die Zellen A1 bis A8 markieren, dann ziehen.
Gruß
Franz
Tabelle1

 A
1BEGIN:VCARD
2VERSION:2.1
3N:Zeile02;B002
4FN:B002 Zeile02
5ORG:(wird kopiert)
6TEL;WORK;VOICE:E0002
7REV:20140904T111216Z
8END:VCARD

Formeln der Tabelle
ZelleFormel
A2="VERSION:2.1"
A3=VERKETTEN("N:";INDEX(directory!$A:$A;(GANZZAHL(ZEILE()/8))+2;1); ";";INDEX(directory!$B:$B;(GANZZAHL(ZEILE()/8))+2;1))
A4=VERKETTEN("FN:";INDEX(directory!$B:$B;(GANZZAHL(ZEILE()/8))+2;1); " ";INDEX(directory!$A:$A;(GANZZAHL(ZEILE()/8))+2;1))
A6=VERKETTEN("TEL;WORK;VOICE:";INDEX(directory!$E:$E;(GANZZAHL(ZEILE()/8))+2;1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel vCards erstellen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine vCard aus Excel zu erstellen, kannst du die folgenden Schritte befolgen. Diese Anleitung basiert auf den Erfahrungen von Benutzern im Forum und ist besonders nützlich, wenn du eine große Anzahl von Kontakten hast.

  1. Daten in Excel vorbereiten: Stelle sicher, dass deine Excel-Datei die notwendigen Felder enthält, wie Nachname, Vorname, Firma, und Telefonnummer.

  2. Formeln einfügen: Verwende die folgenden Formeln, um die vCard-Daten zu generieren. Platziere sie in den entsprechenden Zellen.

    • In Zelle A1:
      BEGIN:VCARD
    • In Zelle A2:
      VERSION:2.1
    • In Zelle A3:
      =VERKETTEN("N:";directory!A2;";";directory!B2)
    • In Zelle A4:
      =VERKETTEN("FN:";directory!B2;" ";directory!A2)
    • In Zelle A5:
      ORG:(wird kopiert)
    • In Zelle A6:
      =VERKETTEN("TEL;WORK;VOICE:";directory!E2)
    • In Zelle A7:
      REV:20140904T111216Z
    • In Zelle A8:
      END:VCARD
  3. Zellen nach unten ziehen: Markiere die Zellen A1 bis A8 und ziehe sie nach unten, um die Formeln für alle Kontakte anzuwenden.

  4. vCard-Datei exportieren: Um die vCards zu speichern, kopiere die erstellten Daten in einen Texteditor und speichere die Datei mit der Endung .vcf.


Häufige Fehler und Lösungen

  • Problem: Die Version der vCard ändert sich beim Herunterziehen.

    • Lösung: Stelle sicher, dass du die Formeln so anpasst, dass sie die richtige Zeile referenzieren. Verwende INDEX und GANZZAHL wie im Beispiel von Franz:
      =VERKETTEN("N:";INDEX(directory!$A:$A;GANZZAHL(ZEILE()/8)+2;1);";";INDEX(directory!$B:$B;GANZZAHL(ZEILE()/8)+2;1))
  • Problem: Falsche Daten in den vCard-Einträgen.

    • Lösung: Überprüfe die Datenquelle und stelle sicher, dass die Zellen korrekt referenziert werden.

Alternative Methoden

Wenn du eine andere Methode zur Erstellung von vCards nutzen möchtest, kannst du auch VBA (Visual Basic for Applications) verwenden, um den Prozess zu automatisieren. Hier ist ein einfaches Skript, das du anpassen kannst:

Sub CreateVCard()
    Dim vCard As String
    Dim i As Integer
    Dim lastRow As Long

    lastRow = Sheets("directory").Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastRow
        vCard = "BEGIN:VCARD" & vbCrLf
        vCard = vCard & "VERSION:2.1" & vbCrLf
        vCard = vCard & "N:" & Sheets("directory").Cells(i, 1) & ";" & Sheets("directory").Cells(i, 2) & vbCrLf
        vCard = vCard & "FN:" & Sheets("directory").Cells(i, 2) & " " & Sheets("directory").Cells(i, 1) & vbCrLf
        vCard = vCard & "ORG:" & Sheets("directory").Cells(i, 3) & vbCrLf
        vCard = vCard & "TEL;WORK;VOICE:" & Sheets("directory").Cells(i, 4) & vbCrLf
        vCard = vCard & "REV:" & Format(Now, "yyyymmdd\THHMMSS\Z") & vbCrLf
        vCard = vCard & "END:VCARD" & vbCrLf

        ' Speichere die vCard in einer Datei
        ' (Hier den Code zum Speichern einfügen)
    Next i
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie eine vCard aussehen könnte, die aus Excel erstellt wurde:

BEGIN:VCARD
VERSION:2.1
N:Doe;John
FN:John Doe
ORG:Beispiel GmbH
TEL;WORK;VOICE:+49123456789
REV:20240904T111216Z
END:VCARD

Um eine vCard aus Excel zu erstellen, ist es wichtig, dass die Daten korrekt formatiert sind, und die richtigen Formeln verwendet werden.


Tipps für Profis

  • Verwende benutzerdefinierte Formate: Du kannst die Zellen so formatieren, dass sie die gewünschten Ergebnisse liefern, ohne die Formeln zu ändern.

  • Automatisiere den Export: Verwende VBA, um den Export der vCards zu automatisieren und Zeit zu sparen, besonders bei großen Datenmengen.

  • Datenvalidierung: Stelle sicher, dass die Eingabedaten in deiner Excel-Tabelle validiert werden, um Fehler in den vCard-Dateien zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich eine vcf-Datei aus Excel erstellen? Du kannst die vCard-Daten aus Excel kopieren und in einen Texteditor einfügen, dann als .vcf-Datei speichern.

2. Funktioniert das auch in älteren Excel-Versionen? Ja, die beschriebenen Funktionen und Formeln sollten in den meisten Excel-Versionen ab 2007 funktionieren.

3. Kann ich mehrere vCards gleichzeitig erstellen? Ja, wenn du die Formeln korrekt anwendest und die Zellen nach unten ziehst, kannst du mehrere vCards gleichzeitig generieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige