Automatisches Verketten von Tabellenergebnissen

Hallo Excel-Kenner,

ich habe folgendes Problem:
Eine Tabelle mit ca. 160 Zeilen nach folgendem Muster (Spale A - Spalte B):

100% - a
50% - b
100% - c
14% - d
78% - e
100% - f

Die Prozentwerte sind dynamisch, d.h. sie können sich in den 160 Zeilen verändern.

Ich will nun in einer Zeile folgendes ausgeben:
„Folgende Bestandteile sind eindeutig zugeordnet: 100% a, 100% c und 100% f.“
Es sollen also von Excel automatisch alle Zeilen selektiert werden, die momentan 100% in Spalte A stehen haben und dann verkettet gemeinsam mit dem Wert aus Spalte B in einer Textzeile ausgegeben werden.

Hat jemand einen Plan, wie ich vorgehen kann?

Hallo gruene Tomate,

mach eine Extraspalte und verkette erstmal a2+b2 mit der Formel:=A2&B2
ziehe die Formel nach unten.
Anschließend setzt Du einen Autofilter und lässt Dir nur die 100%-Werte
anzeigen.
Viel Erfolg
Ullrich Sander

Hallo g.t.

wenn Dir der Vorschlag mit dem Autofilter nicht gefällt.
Mit Standard-Excel-Formeln geht es leider nicht. Eine der folgende benutzerdefinierten Funktionen bastelt den Text zusammen.

Function TextVerketten1(Prozentzahlen As Range, Text As Range) As String
' Die Zahlenwerte im Bereich Prozentzahlen sind als Prozent formatiert und haben Werte von 0 bis 1
 Dim Ergebnis As String
 Ergebnis = "Folgende Bestandteile sind eindeutig zugeordnet: "
 For I = 1 To Prozentzahlen.Rows.Count
 If Prozentzahlen(I, 1) = 1 Then
 Ergebnis = Ergebnis & Format(Prozentzahlen(I, 1), "0%") & " " & Text(I, 1) & ", "
 End If
 Next
 If Right(Ergebnis, 2) = ", " Then
 Ergebnis = Left(Ergebnis, Len(Ergebnis) - 2)
 End If
 TextVerketten1 = Ergebnis
End Function
Function TextVerketten2(Prozentzahlen As Range, Text As Range) As String
' Die Zahlenwerte im Bereich Prozentzahlen sind Text und haben Werte von 0% bis 100%
 Dim Ergebnis As String
 Ergebnis = "Folgende Bestandteile sind eindeutig zugeordnet: "
 For I = 1 To Prozentzahlen.Rows.Count
 If Prozentzahlen(I, 1) = "100%" Then
 Ergebnis = Ergebnis & Prozentzahlen(I, 1) & " " & Text(I, 1) & ", "
 End If
 Next
 If Right(Ergebnis, 2) = ", " Then
 Ergebnis = Left(Ergebnis, Len(Ergebnis) - 2)
 End If
 TextVerketten2 = Ergebnis
End Function

Funktion im VBA-Editor in ein Modul kopieren.
In der Tabelle dann Formel wie folgt eingeben:

=TextVerketten1(A2:A160;B2:B160)

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo grüne tomate,
Du solltest langsam rot werden…

Noch keine Rückmeldung an uns Beide, ob’s funktioniert oder wie oder was.

Ullrich Sander

Hoppla, Tschuldigung!

Also natürlich bin ich für Eure Antworten dankbar.

Die Autofilter-Methode hat Ihre Zwecke echt gut erfüllt. Leider bleibt da natürlich etwas Handarbeit übrig.

Methode Nr. 2 konnte ich leider noch nicht ausprobieren, weil ich noch nie mit VBA gearbeitet habe. Aber es hat mein Interesse geweckt und ich bin gerade dabei mir das beizubringen…

Also nochmal danke, Jungs!

die rote Tomate! :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]