Clever-Excel-Forum

Normale Version: VBA Name Vorname trennen und in ein Datenblatt kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Hiermit bitte ich ob einer mir hier ein VBA schreiben könnte das mir erlaubt Name und Vorname in einer Kolonne in mehreren Arbeitblätter zu trennen und in einem Arbeitsblatt zusammen zu kopieren.

Das Makro sollte folgende Aufgaben automatisieren:

1. Name und Vorname in den Arbeitsblätter 2010 ; 2011 ; 2012 trennen und in Tabelle1 Kolonne J und K kopieren.
2. Das Jahr Tabelle1 Kolonne N sollte das Jahr des jeweiligen Arbeitsblattes sein.
3. Alle andere Zellen ausser D ; E ; F und G sollten in Arbeitsblatt Tabelle1 kopiert werden
    Kolonne A in Kolonne C in Tabelle1 ;
    Kolonne B aufteilen in Kolonne J und K in Tabelle1 ;
    Kolonne C in Kolonne L in Tabelle1 ;
    Kolonne H in Kolonne A in Tabelle1 ;
    Kolonne I in Kolonne W in Tabelle1
    und das Jahr in Kolonne N in Tabelle1

Das Makro sollte in den Arbeitsblätter jeweils von Zeile 2 bis zum letzten Eintrag durchlaufen. Wenn das Makro gestartet wird sollte ein Fenster aufgehn das mir die Erlaubnis gibt die Jahre (Name der Arbeitsblätter) der jeweiligen Arbeitsblätter anzeigt die ich ankreuzen kann die in Tabelle1 kopiert werden sollen.

Vielen dank für Ihre Hilfe

Mfg
Hallo,
der Anhang sollte das Gewünschte tun.
Bytheway: im Forum redet man  sich üblicherweise mit "Du" an... :19:
Okay sorry mit dem "DU" wird nicht mehr vorkommen Smile

Hey super vielen lieben dank boah und so schnell doch hab erst jetzt in meiner original Datenbank bemerkt dass es auch Leute gibt die 2 Name und sogar 3 Namen wie zb. DE JESUS SANTOS David haben doch die Vorname sind immer in Großbuchstaben so dass man vielleicht sagen kann erst trennen wenn der erste Name in klein Schrift kommt wie im Beispiel Name DE JESUS SANTOS Vorname David
Hallo,
wenn die Familiennamen wirklich großgeschrieben daherkommen, dann bitte die Function NameTrennen ersetzen durch
PHP-Code:
Function NameTrennen(FeldVN As String)
Dim ergifirstVN As LongNN
  erg 
Split(Feld.Text)
  For 1 To UBound(erg)
    If UCase(erg(i)) <> erg(iThen
      firstVN 
i
      
Exit For
    End If
  Next i
  NN 
erg(0)
  For 1 To firstVN 1
    NN 
NN " " erg(i)
  Next i
  NameTrennen 
NN
  VN 
erg(firstVN)
  For firstVN 1 To UBound(erg)
    VN VN " " erg(i)
  Next i
End 
Function