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

Array Werte für function

Array Werte für function
07.05.2020 08:55:33
MCO
Guten Morgen!
Aus der Hilfe zu einem Beitrag (https:\/\/www.herber.de/forum/messages/1757332.html) wollte ich eigentlch eine Funktion machen, scheitere aber daran, dass ich die Werte, die ich einer Funktion abfrage nicht verarbeitet bekomme...
Tabellenaufbau








M5-2M1-3M2-3M3-3M4-3M5-3PHBP1-E
€ 1,00 € 30,00 € 7,00 € 2,00 € 2,00 € - € -









M5-2M1-3M2-3M3-3M4-3M5-3PHBP1-E
1307220=min_preis(L6:O6)

Die dazupassende funktion sieht so aus:
Public Function min_preis(werte) As Long
'Value2 gibt hier 4 Werte wieder, jedoch im format (1/1)(1/2)(1/3)(1/4)
wert_arr = Array(WorksheetFunction.Transpose(werte.Value2))
Dim wert As Range
For Each wert In werte
If wert > 0 Then min_preis = WorksheetFunction.Min(wert, minpreis)
Next wert
End Function

Value2 gibt hier 4 Werte wieder, jedoch im format (0/0)(0/1)(1/0)(1/1)..., von denen immer nur der 2te Wert belegt ist.
Kann mir jemand auf die Sprünge helfen, wie ich die Werte so umwandle, dass ich sie gebrauchen kann?
Vielen Dank!
Gruß, MCO

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

Betreff
Datum
Anwender
Anzeige
AW: Array Werte für function
07.05.2020 13:02:36
EtoPHG
Hallo MCO,
Ich hab keine Ahnung, was dieser komplizierte, verknäulte und falsche Code soll.
Ich würde das so machen:
Public Function min_preis(werte As Range) As Double
Dim rC As Range
For Each rC In werte
If Val(rC) > 0 And min_preis = 0 Then min_preis = Val(rC)
If Val(rC) > 0 And Val(rC) 
In der Beispielmappe (im erwänten Thread) lautete dann die Formel für S6
=min_preis((C6;H6;M6))
und diese dann nach rechts + unten kopieren.
Gruess Hansueli
Das Val() in der UDF ist kontraproduktiv, Hue! orT
07.05.2020 18:33:25
Luc:?
Gruß, Luc :-?
kontraproduktiv? Begründung Luc! (owT)
07.05.2020 21:21:19
EtoPHG

Es generiert Ganzzahlen auf d.BspDatei! owT
08.05.2020 03:16:53
Luc:?
:-?
Anzeige
Blödsinn, kann ich nicht bestätigen (owT)
08.05.2020 08:20:19
EtoPHG

Was du nicht bestätigen kannst mit Deinem ...
08.05.2020 15:21:41
Luc:?
…Schweizer Xl, Hansueli,
muss für ein dt Xl kein Blödsinn sein. Jedenfalls war es, auch zu meiner Verwunderung, so. Entfernen von Val() hat dann die richtigen Ergebnisse geliefert.
Fazit: Val() ist immer für eine Überraschung gut - verhält sich nicht (immer) so, wie lt VBE-Hilfe zu erwarten wäre. Deshalb verwende ich lieber CDbl().
Gruß, Luc :-?
aber dafür kann ich Dir recht geben....
08.05.2020 17:01:30
EtoPHG
Luc,
Ich habe diesen Hinweis in der Hilfe übersehen:
The Val function recognizes only the period ( . ) as a valid decimal separator. When different decimal separators are used, as in international applications, use CDbl instead to convert a string to a number.
Der Hintergedanke für VAL war, ggf. Textwerte abzufangen, bzw. als 0 zu werten.
Anstelle von Val(x) würde dann Val(Replace(x,",",".")) dem gerecht werden.
CDbl(x) läuft bei Textwerten die keine Zahl darstellen auf einen Fehler.
Gruess Hansueli
Anzeige
So etwas hatte ich schon vermutet, ...
09.05.2020 00:38:23
Luc:?
…Hansueli,
und natürlich verwende ich CDbl nur nach IsNumeric-Ergebnis True.
Übrigens, xlFkt WERT soll ja angeblich toleranter sein, aber da habe ich auch so meine Zweifel…
Morhn, Luc :-?
AW: Array Werte für function
08.05.2020 13:29:23
MCO
Danke, Hansueli!
So viel unterscheidet sich unser code nicht, auf den ersten blick.
Das "Transpose" hatte ich vergessen rauszunehmen.
Muss mir das Ganze aber noch näher anschauen.
Vielen Dank erstmal für´s reindenken!
Schönes WE!
Gruß, MCO

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige