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

#Wert! - Fehler - Warum?

#Wert! - Fehler - Warum?
11.01.2016 11:21:36
Jens
Hallo,
der bisherige Code aus dem Forum.
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 Auswahl nach den Zwischensymbolen (bisher "/") noch erweitern, so dass man sich auf die Inhalte bestimmter Zellen bezieht? Zeile 108, von Spalte 3 bis 27.
Ich hätte es so versucht, aber funktioniert nicht.
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 = ActiveWorkbook.Worksheets("Aufstellung").Range(Cells(108, 3), Cells(108, 27)) 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 mir wer sagen warum es nicht funktioniert?
Es wird immer #Wert! angezeigt.
Der anfängliche Code funktioniert aber.
Gruß

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: #Wert! - Fehler - Warum?
11.01.2016 12:37:37
Julia
Hallo,
so funktioniert es für einen Wert aus einer Zelle.
If Wert = ActiveWorkbook.Worksheets("Anlagendaten").Range("C108").Value Or IsEmpty(Wert) Then GoTo weiter '--wenn / oder leer dann weiter
Warum geht es dann nicht für mehrere Zellen?

Hermaphrodit? Jens+Julia! No Comment!
11.01.2016 12:49:38
Luc:-?
:-?

Warum in aller Welt quälst du dich mit ...
11.01.2016 12:46:41
Luc:-?
…diesem speziellen (Halb-)Eigenbau herum, Jens;
ich hatte dir doch längst gesagt, dass das Archiv Besseres enthält?!
Für eine SubProzedur mag's angehen, etwas Spezielles, auf ein bestimmtes Projekt Bezogenes zu pgmmieren, für eine in ZellFmln einsetzbare Fkt (UDF) ist das kontraproduktiv. Hier sollte man alles, was variabel sein kann, der Fkt als Argument übergehen! Schon bei der vbFkt Join können beliebige Verbindungs­zeichen angegeben wdn!
Ich habe auch noch keine Verketten-UDF gesehen, die so merkwürdig konstruiert war. Was nützt dir eine UDF, die du nur in einem ganz bestimmten Umfeld einsetzen kannst? Das ist Zeitverschwendung! Schreibe sie so, dass sie ihren eigentlichen Zweck in jedem Kontext erfüllt!
Das ist übrigens der Verursacher: If Wert = ActiveWorkbook.Worksheets("Aufstellung").Range(Cells(108, 3), Cells(108, 27)) …
1. macht man so etwas nicht, sondern übergibt den VglsBereich als Argument!
2. kann man keinen Einzelwert mit einem ganzen Bereich vgln - 1 Apfel ist nie = viele Äpfel! (Der Sinn ist ohnehin schleierhaft!)
3. ist auch der Kommentar zu 2. irreführend, da es dort um / oder leer geht!
Hau den Müll wech oder schreib mal, was das (ergeben) soll!
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Warum in aller Welt quälst du dich mit ...
11.01.2016 16:41:13
Jens
Hallo,
danke für den Hinweis.
Ich weis einfach nicht wie ich die Join Funktion anwenden soll.
Ich will ja die Zelleninhalte zusammenfügen, und für Trennzeichen nur die nach Vorgabe zulassen.
Aber wie soll ich das machen.
ich kenn mich hierzu zu wenig aus.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige