Anzeige
Archiv - Navigation
1276to1280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text aus mehreren Zellen autom. in eine einfügen?

Text aus mehreren Zellen autom. in eine einfügen?
29.09.2012 18:45:45
Felix
Ich würde gerne in Zelle I15 dieser Tabelle automatisch alle Email-Adressen aus den Zellen in Spalte G einfügen, neben denen in E und F eine 1 steht.
https://www.herber.de/bbs/user/81941.xlsx
Das mit dem Summenprodukt kriege ich noch ungefähr hin, an der ganzen Formel hapert´s dann aber. Vielleicht weiß jemand Hilfe?
Außerdem müssen die E-mail Adressen in I15 dann auch noch durch Komma und Leerzeichen ergänzt werden, damit ich einfach Zelle I15 kopieren und dann im Empfängerfenster meines Mailprogramms einfügen kann.
Vielen Dank für Eure Hilfe!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wenn's nicht so viele sind...
29.09.2012 19:27:45
Erich
Hi Felix,
... dann geht*'s mit der Knochentour - jede Mail-Zeile einzeln:
 EFG
5Hat ZeitEinladenE-mail
611Peter@test.de
710Susi@test.de
811Paul@test.de
900Doris@test.de
1001Klaus@test.de
1100Nina@test.de
12   
13   
14   
15  Peter@test.de, Paul@test.de

Formeln der Tabelle
ZelleFormel
G15=TEIL(WENN(E6*F6;", "&G6;"")&WENN(E7*F7;", "&G7;"")&WENN(E8*F8;", "&G8;"")&WENN(E9*F9;", "&G9;""); 3;999)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Ich habe nur für die Zeilen bis 9 hingeschrieben, du kannst das leicht ergänzen (vor dem ";3)".
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Text aus mehreren Zellen autom. in eine einfügen?
29.09.2012 19:33:25
detlef
Hallo Felix;
ich bin auch nur Laie deshalb ist das Makro auch nicht sauber geschrieben
Sub email_address() e_mail = "" For a = 6 To 11 If CDbl(Cells(a, 5)) = 1 And CDbl(Cells(a, 6)) = 1 Then e_mail = e_mail & Cells(a, 7) & "; " End If Next a Cells(15, 4) = e_mail End Sub gruß detlef

noch mal mit VBA
29.09.2012 20:04:33
Erich
Hi Felix,
hier noch eine VBA-Variante:

Option Explicit                  ' immer zu empfehlen
Sub Mail_Adressen()
Dim zz As Long, sAdr As String
For zz = 6 To 14
If Cells(zz, 5) * Cells(zz, 6) = 1 Then sAdr = sAdr & "; " & Cells(zz, 7)
Next zz
Cells(15, 7) = Mid(sAdr, 3)
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: noch mal mit VBA
01.10.2012 17:34:04
Felix
Sorry für die späte Rückmeldung ob Urlaubs.
Vielen Dank schon mal für den Versuch der Hilfe! Leider bin ich in Makros zu schlecht, um das auf meine andere Tabelle umschreiben zu können. Ich habe z. B. noch nicht einmal verstanden, woher das Makro weiß, aus welchen Spalten es die Informationen zieht. Oder ist "zz" ein Platzhalter, in den ich die entsprechende Spalte einfügen muss?
Da ich ca. 300 Adressen habe, wäre die erste Lösung wohl auch etwas aufwendig. Geht das denn vielleicht trotzdem ohne Makro?
Gibt es nicht eine Möglichkeit, den Text aus mehreren Zellen in eine andere Zelle zu übertragen?
Dann könnte ich die E-mail-Adressen in den Zellen z. B. manuell um ", " ergänzen und vielleicht mit einem Summenprodukt in der Zielzelle arbeiten.
Irgendetwas wie z. B. Wenn(Summenprodukt((E6:E11 größer 0)*(F6:F11 größer 0)) größer 1, dann füge Text aus G6:G11 ein?
Ich weiß allerdings schon gar nicht, wie ich den Text aus zwei Zellen automatisch in einer Zielzelle einfüge, ohne dass "#WERT!" erscheint.

Anzeige
AW: noch mal mit VBA
01.10.2012 18:36:31
Erich
Hi Felix, (das ist eine Anrede)
zunächst mal zum Code:
bei Cells(a,b) ist a die Zeilen- und b die Spaltennummer.
Cells(zz,5) ist also die Zelle in Zeile zz in der 5. Spalte - das ist die Spalte E.
For zz = 6 To 14
ist die Schleife über die betrachteten Zeilen. (In deinem Beispiel gehen die Daten nur bis Zeile 11, also reichte auch
For zz = 6 To 11
Die If-Zeile kannst du so lesen:
Wenn in Zeile zz in den Spalten 5 (E) und 6 (F) eine 1 steht,
dann hänge an sAdr hinten ", " und den Wert aus Zeile zz, Spalte 7 (G) an.
Das Endergebnis wird in G15 = Cells(15, 7) geschrieben - wie du gewollt hast.
Und zur Formellösung:
Theoretisch kann man das schon auch mit Formeln lösen - so wie in der beschriebenen "Knochentour",
aber in mehreren Schritten.
Im ersten Schritt fasst man z. B. je 8 Zeilen zusammen.
Dann fasst man je 8 dieser Zusammenfassungen wieder zusammen. Ein weiterer Schritt und das Problem ist gelöst.
(Die Textlänge könnte beim VERKETTEN ein Problem werden - schau mal in die Excelhilfe zu dieser Funktion.)
So etwas wie SUMMENPRODUKT() gibt es für Texte nicht.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: noch mal mit VBA
01.10.2012 19:48:30
Felix
Hi Erich,
ich bin begeistert! Es funktioniert, UND ich glaube, ich habe sogar verstanden, wie es funktioniert. Vielen Dank!

389 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige