Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

bereich wählen bis zu leerer Zelle
#1
Hallo ich habe folgendes Problem:
Ich möchte den Text aller Zeilen einer Spalte mit " OR " verknüpfen, außer die Zelle ist leer.

1. Ich kann die Zellen so anordnen, dass die Zelle vor der leeren die letzte relevante Zelle ist.
2. es wäre auch ok, wenn leere zellen ignoriert werden, unabhängig davon ob danach noch eine gefüllte Zelle kommt.

Wenn also die ersten 3 zeilen mit 1,2,3 gefüllt sind und ab Zeile 4 sind die Zellen leer, sollte das Ergebnis lauten: 1 OR 2 OR 3

Meine Formel lautet: =VERKETTEN2(A4:AX;" OR ") wobei das AX, die letzte gefüllte Zelle ist.
Wenn ich AX von Hand ausfülle funktioniert es, ich würde das aber gerne automatisieren,

Sorry im Voraus, falls die gleiche Frage schon mal kam.
Ich habe viel nach einer Lösung gegoogelt, aber vielleicht nicht die richtige Beschreibung erwischt.

Und danke für jede Unterstützung.


Angehängte Dateien
.xlsm   Beispieltabelle Verketten2.xlsm (Größe: 24,67 KB / Downloads: 4)
Antworten Top
#2
Moin!
Das einfachste wäre natürlich die Excel-Funktion TEXTVERKETTEN()
=TEXTVERKETTEN(" OR ";1;A4:INDEX(A4:A100;ANZAHL2(A4:A100)))

Allerdings gibt es die erst ab Excel 2019 …

Gib Deiner UDF nur die Startzelle mit, dann so:
Function Verketten2(ByRef StartZelle As Range, Trennzeichen As String) As String
Dim rng As Range
  For Each rng In Range(StartZelle, StartZelle.End(xlDown))
      If rng <> "" Then
      Verketten2 = Verketten2 & rng & Trennzeichen
      End If
  Next
If Len(Verketten2) > 0 Then _
Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen))
End Function

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • grooverbc
Antworten Top
#3
Hi Ralf,

Problem gelöst!

Deine Vorschläge waren sehr hilfreich.
Wir haben es mit Makro gelöst.

Herzliche Grüße 
Matthias
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste