Excel Makro erstellen um Text aus Spalte in Zeile wiedergeben und mit " ; " trennen?

... komplette Frage anzeigen

3 Antworten

Hab hier mal als Trockenübung auf die Schnelle eine Function gebaut, komme jetzt nicht zum ausprobieren, versuchs einfach mal und schau, ob Du's ggf korrigieren kannst:

VerkettenMitZwischenzeichen(Target, Zwischenzeichen)

'Verkettet ausgewählte Zelle mit Zellinhalten in Spalte unterhalb  mit Zwischenzeichen, funktioniert vermutlich erst ab 3 Werten, keine Leerzellen dazwischen erlaubt

Dim c as xlrange, Fortschritt as string, Zwischenzeichen as string

Fortschritt = ""

For each c in Range(Target, Target.end(xldown).offset(-1, 0))

Fortschritt = Fortschritt & c.value & Zwischenzeichen

next

Fortschritt = Fortschritt & Target.end(xldown).value

Verketten = Fortschritt

end function

Kommentar von Iamiam
02.12.2015, 14:37

die erste Zeile muss natürlich heissen:

Function VerkettenMitZwischenzeichen(Target, Zwischenzeichen)

ob das Komma ggf durch ; ersetzt werden muss, musst Du ausprobieren.

Und siehe Kommentar subopt., (danke!)

1
Kommentar von Suboptimierer
02.12.2015, 14:37

Am Ende muss es wahrscheinlich VerkettenMitZwischenzeichen = Fortschritt heißen. Sonst fällt mir nichts auf dem ersten Blick auf.

Ich würde gleich den zu verketteten Bereich übergeben lassen und mit einer If-Abfrage leere Zellen auslassen.

"xlrange" kannte ich bislang nicht. Ich nutze immer "Range".

1

kommt ganz darauf an, du kannst dien Datei auch als CSV(Trennzeichen getrennt) separat speichern und in einem Editor(völlig egal welcher) öffnen, dann stehen alle Ergebnisse eine Zeile mit ; getrennt.

Kommt ganz auf deinen Verwendungszweck an :o 

Kommentar von kikichog
02.12.2015, 12:46

:D

ja das kenne ich auch

aber ich baue mir grade ein Makro irgendwie zusammen weil ich keine Antwort auf meine Problem sonst finden kann. 

Mein eigentliches Problem ist nämlich. in der spalte B ab Zeile 2 stehen mehrere Email adressen und an die möchte ich eine email schicken, weiß aber nicht wie ich das im Makro angebe muss. Irgendwie bekomme ich immer nur eine Email Adresse in den Empfänger der email rein und nicht alle, die dann auch noch mit " ; " getrennt sind. deswegen versuche ich es jetzt auf eine andere weise

0
Kommentar von Britzcontrol
03.12.2015, 07:44

wie wäre es denn mit:

=B2&WENN(B3>"";";"&B3;"")&WENN(B4>"";";"&B4;"")&WENN(B5>"";";"&B5;"")

in Zelle C2

Gruß aus Berlin

0

C2: =B2
C3: =C2 & " ; " & B3

C3 nach unten ziehen.

Kommentar von kikichog
02.12.2015, 12:39

das ist schon mal ein guter Ansatz. Danke

jetzt habe ich jedoch nur noch das Problem dass das auf Dauer zu umständlich ist da sich die länger der spalte verändern kann und ich möchte nur in Zelle C2 alle wörter aus Spalte B (ab Zeile 2) haben

0

Was möchtest Du wissen?