Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1464to1468
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

Verketten von Ausdrücken.

Verketten von Ausdrücken.
08.01.2016 14:23:55
Ausdrücken.
Hallo,
weis jemand warum dieser Code nicht funktioniert?
Man kann damit Spalteninhalte verketten über eine separate Vorgabe.
Function Kette2(Vorgabe As Range, Ketten As Range)
Dim Wert
Dim arr
Dim SpalteQ As Byte
arr = Vorgabe.Value
For Each Wert In arr
SpalteQ = Columns(Wert).Column
If IsNumeric(SpalteQ) = False Then
Kette2 = Kette2 & Ketten.Cells(SpalteQ)
Else
Kette2 = Kette2 & Wert
End If
Next
End Function
Es sollte aber so sein, dass sobald in der Vorgabe ein Ausdruck auftaucht, der nicht einer Spaltenbezeichnung entspricht, dass der Ausdruck angekettet wird.
Kann mir jemand dazu helfen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verketten von Ausdrücken.
08.01.2016 14:42:47
Ausdrücken.
Cells() erfordert zwei Argumente.

AW: Verketten von Ausdrücken.
08.01.2016 14:46:50
Ausdrücken.
Ich brauche aber nur die Angabe der Spalte.
Wie setze ich das dann um?

AW: Verketten von Ausdrücken.
08.01.2016 16:58:02
Ausdrücken.
Moin
Bin unterwegs, ungetestet.
Function Kette2(Vorgabe As Range, Ketten As Range)
Dim Wert
Dim arr
Dim a As Boolean
Dim SpalteQ As Byte
arr = Vorgabe.Value
For Each Wert In arr
If Wert = "/" Or IsEmpty(Wert) Then GoTo weiter '--wenn / oder leer dann weiter
SpalteQ = Columns(Wert).Column
If IsNumeric(SpalteQ) Then
Kette2 = Kette2 & Ketten.Cells(SpalteQ)
Else
weiter:
Kette2 = Kette2 & IIf(IsEmpty(Wert), " ", Wert) '--wenn leer dann leer sonst Eintrag
End If
Next
End Function

gruss hary
@Lupo: Stimmt so nicht ganz. Wenn ich nur eine Zeile in Range(Ketten) habe, kann ich mit Ketten.Cells(x) die Zelle im Bereich ansprechen.

Anzeige
Naja, AWen hast du nun schon genug, ...
08.01.2016 19:18:19
Luc:-?
…Jens;
aber, falls du die Fkt nicht selbst geschrieben haben solltest, wirf sie weg, denn sie ist zu primitiv und limitiert (als Eigenschöpfung geht sie durch, denn jeder fängt mal an!). Vgl die mal mit VJoin (aktuell Version 1.4!) bzw MxJoin im hiesigen Archiv!
Gruß + schöWE, Luc :-?

AW:@ Luc
09.01.2016 07:24:54
hary
Moin Luc
Hatta nich,is teilweise auf meinem Mist gewachsen. Ich weiss es geht immer besser. Hab ich auch im Startthread weiter unten geschrieben.
Gegen deine UDF(en) werde ich sowie nie 'ne Chance haben.
gruss hary

Aber, aber Hary, ich hätte doch gar nichts ...
11.01.2016 02:13:43
Luc:-?
…gesagt, hätte ich das gewusst… ;-]
Meine diesbzgl Befürchtungen (als ich deine entdeckte) hatten sich sofort zerstreut, als ich sah, dass du ein Dictionary eingesetzt hattest (was ich bisher nur sehr selten getan habe)…
Und sage nie Nie! So schwer ist das nun auch wieder nicht; man muss im Grunde nur den ganz alten Xl-StandardFktt folgen und aus AnwenderSicht, nicht der des Pgmmierers, denken, also bspw As Range nur dann bei Argumenten verwenden, wenn's anders nicht sinnvoll wäre, weil Range-Eigenschaften abgefragt wdn sollen. Auch sollte man kein per Deklaration speziell eingeschränktes Ergebnis verlangen, wenn man mögliche Fehler etwas differenzierter angeben will. Anderenfalls ist nur der StandardFehler #WERT! möglich (evtl trotzdem angezeigtes #NV hat dann seine Ursache in der XlSteuerung → keine Werte für das ErgebnisAuswahlFeld bei mehrzelligen MatrixFmln).
Gruß, Luc :-?

Anzeige
AW: AW:@ Luc
11.01.2016 12:46:03
Jens
Hallo,
dein Code funktioniert super.
Function Kette2(Vorgabe As Range, Ketten As Range)
Dim Wert
Dim arr
Dim a As Boolean
Dim SpalteQ As Byte
arr = Vorgabe.Value
For Each Wert In arr
If Wert = "/" Or IsEmpty(Wert) Then GoTo weiter '--wenn / oder leer dann weiter
SpalteQ = Columns(Wert).Column
If IsNumeric(SpalteQ) Then
Kette2 = Kette2 & Ketten.Cells(SpalteQ)
Else
weiter:
Kette2 = Kette2 & IIf(IsEmpty(Wert), " ", Wert) '--wenn leer dann leer sonst Eintrag
End If
Next
End Function
Kann man die Abfrage nach "/" noch erweitern sodass man als Kriterium die Angaben aus der Zellen C108:AA108 aus dem Sheet Anlagendaten hernimmt.
Sprich ich möchte nicht die Symbole im Code hinterlegen sondern in Zellen eines Sheets vorgeben bzw. verändern können.
Geht das irgendwie?

Anzeige
Das ist NICHT MEIN Code, ...
11.01.2016 13:02:55
Luc:-?
…Jens-Julia;
so etwas hätte ich niemals geschrieben! Bedanke dich bei Hary, dessen Code du wohl als Basis benutzt hast!
Luc :-?

AW:Bsp.-Mappe
12.01.2016 07:21:39
hary
Moin
Lad mal eine Bsp.-Mappe hoch.
gruss hary

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige