Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

VBA VERKETTENWENNS mit mehreren Bedingungen

VBA VERKETTENWENNS mit mehreren Bedingungen
05.07.2017 18:33:44
Jojo
Hallo ihr lieben,
ich bin durchs googeln auf dieses wundervolle Forum gestoßen und habe schon Ansätze für meine Problemlösung gefunden, hoffe aber, dass man mir hier nochmal konkreter weiterhelfen kann.
Ich möchte gerne verschiedene Zellen verketten, wenn sie bestimmte Bestimmungen erfüllen.
Für einfache Bedingungen nutze ich das hier im Archiv(https://www.herber.de/forum/archiv/1272to1276/1274852_Funktion_verketten_wenn_mehrfache_Werte_nur_einma.html) im ersten Beitrag erwähnte Modul. Jetzt würde ich aber gerne 1. mehrere Bedingungen verwenden ohne dafür viele Hilfsspalten einrichten zu müssen (Also Quasi VERKETTENWENNS)und 2. als Bedinungung Textteile also z.b: "A*" verwenden.
Meine VBA-Kenntnisse sind gering und ich hatte gehofft, dass ich mit den weiter unten von Sepp erwähnten Modul was anfangen kann, weil es so aussieht, als ob man dort mehrere Bedinungen hat - aber leider klappt es bei mir nciht. Und meine Kenntnisse mit VBA sind zu gering, um heauszufinden, ob es am Modul liegt oder an meiner Eingabe. Vllt kann mir ja hier jemand helfen :-)
Viele Grüße
Johanna

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA VERKETTENWENNS mit mehreren Bedingungen
07.07.2017 13:00:19
Jojo
Moin,
habe ich die Frage zu kompliziert gestellt oder etwas anderes nicht beachtet? Oder ist das tatsächlich ein komplexeres Problem?
Auch über einen Hinweis wie dieser VBA-Code zu verstehen ist wäre ich sehr dankbar. Ggf. auch einen Link, an dem man sich selbst die Bedeutungen anlesen kann.
Public Function VERKETTENWENN(Bereich_Kriterium As Variant, Kriterium As Variant,  _
Bereich_Verketten As Variant, Optional Trennzeichen As String = ", ", Optional Doppelte As Boolean = False, Optional Sortiert As Boolean = True) As Variant
Dim objArrayList As Object, Field1 As Variant, Field2 As Variant
Dim lngR As Long, lngC As Long
On Error GoTo ErrExit
Field1 = Bereich_Kriterium
Field2 = Bereich_Verketten
If UBound(Field1, 1)  UBound(Field2, 1) Or UBound(Field1, 2)  UBound(Field2, 2) Then
VERKETTENWENN = CVErr(xlErrRef)
Exit Function
End If
Set objArrayList = CreateObject("System.Collections.Arraylist")
With objArrayList
For lngR = LBound(Field1, 1) To UBound(Field1, 1)
For lngC = LBound(Field1, 2) To UBound(Field1, 2)
If Field1(lngR, lngC) = Kriterium Then
If Not .Contains(Trim(Field2(lngR, lngC))) Or Doppelte Then
If Trim(Field2(lngR, lngC))  "" Then .Add Trim(Field2(lngR, lngC))
End If
End If
Next
Next
If Sortiert Then .Sort
VERKETTENWENN = Join(.toArray, Trennzeichen)
End With
Exit Function
ErrExit:
VERKETTENWENN = CVErr(xlErrValue)
End Function
Viele Grüße
Johanna
Anzeige

344 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige