ich habe ein kleines Problem mit VBA. Ich habe eine Datei in der in einer Spalte bis zu drei Namen pro Zelle eingetragen werden. Diese werden per Zeilenumbruch untereinander geschrieben.
ICh habe im Forum diesen Code gefunden der die Namen trennt und in eine "Tabelle" mit bis zu drei Spalten aufteilt.
Hier der Code dazu:
Zellinhalt nach Zeilen-Umbruch trennen
'
Sub Auseinanderfuehren()
Dim lZeile As Long ' For/Next Zeilen-Index
Dim sTemp() As String ' tempor?res Array
Dim iSpalte As Integer ' For/Next Spalten-Index
Range("B1:Z50").ClearContents ' Ergebnisbereich l?schen
For lZeile = 1 To Range("A65536").End(xlUp).Row ' Spalte A ab Zeile 1
Erase sTemp ' Array l?schen
If InStr(Range("A" & lZeile).Value, Chr(10)) > 0 Then ' Carriage Return ?
sTemp = Split(Cells(lZeile, 1), Chr(10)) ' am CR splitten
ElseIf InStr(Range("A" & lZeile).Value, Chr(13)) > 0 Then ' Line Feed ?
sTemp = Split(Cells(lZeile, 1), Chr(13)) ' am LF splitten
Else ' sonst
ReDim sTemp(1) ' Array dimensionieren
sTemp(0) = Range("A" & lZeile).Value ' gar nicht splitten
End If
For iSpalte = 0 To UBound(sTemp) ' das tempor?re Array auswerten
Cells(lZeile, iSpalte + 2) = sTemp(iSpalte) ' auf die Spalten ab B verteilen
Next iSpalte ' n?chste Spalte
Next lZeile ' n?chste Zeile
End Sub
ich möchte nun aus dieser Tabelle mit drei Spalten eine bereinigte Liste haben, in der jeder Name nur einmal vorkommt. denn dann könnte ich diesen Namen per Sverweis eine Mailadresse zuordnen und dann per Join Funktion als Emailempfänger eintragen lassen.Ich bin leider nicht sehr erfahren mit VBA und hoffe ich habe es einigermaßen verständlich erklären können.
Vielen Dank und Gruß
Nico