Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1648to1652
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 LZF16 Ausdruck zu komplex (?)

VBA LZF16 Ausdruck zu komplex (?)
16.10.2018 09:54:29
Dome
Hallo Leute,
Ich habe folgenden Code in einem Modul liegen und erhalte den Laufzeitfehler 16: Ausdruck zu komplex. Wo ist denn hier der Fehler?
In den Zellen T6-T10 in der Mappe "NG GA" befinden sich Zahlen..

Option Explicit
Function fctFarbe(dblWert As Double) As Long
Select Case dblWert
Case Is > ThisWorkbook.Worksheets("NG GA").Range("T10").Value
fctFarbe = RGB(70, 169, 180)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T9").Value
fctFarbe = RGB(121, 186, 196)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T8").Value
fctFarbe = RGB(162, 205, 200)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T7").Value
fctFarbe = RGB(198, 223, 222)
Case Is > ThisWorkbook.Worksheets("NG GA").Range("T6").Value
fctFarbe = RGB(228, 239, 242)
Case Else
fctFarbe = RGB(255, 0, 0)
End Select
End Function
Wenn ich die Werte eintrage funktioniert es, nur möchte ich das Ganze variabel haben und spreche deshalb Zellen an, die sich immer wieder ändern.

Option Explicit
Function fctFarbe(dblWert As Double) As Long
Select Case dblWert
Case Is > 689572
fctFarbe = RGB(70, 169, 180)
Case Is >= 628551
fctFarbe = RGB(121, 186, 196)
Case Is >= 426544
fctFarbe = RGB(162, 205, 200)
Case Is >= 162708
fctFarbe = RGB(198, 223, 222)
Case Is > 0
fctFarbe = RGB(228, 239, 242)
Case Else
fctFarbe = RGB(255, 0, 0)
End Select
End Function
Besten Dank für Eure Ideen.
LG
Dome

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA LZF16 Ausdruck zu komplex (?)
16.10.2018 10:44:11
ChrisL
Hi
Ganz eindeutig kann ich das Problem auch nicht benennen. Hat aber irgendwas mit unterschiedlichen Datentypen zu tun. Deine Inputvariable Double wir mit Typ Integer/Long verglichen. Also dblWert auf Long oder Variant ändern.
Function fctFarbe(dblWert As Variant) As Long
Select Case dblWert
Case Is > ThisWorkbook.Worksheets("NG GA").Range("T10").Value
fctFarbe = RGB(70, 169, 180)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T9").Value
fctFarbe = RGB(121, 186, 196)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T8").Value
fctFarbe = RGB(162, 205, 200)
Case Is >= ThisWorkbook.Worksheets("NG GA").Range("T7").Value
fctFarbe = RGB(198, 223, 222)
Case Is > ThisWorkbook.Worksheets("NG GA").Range("T6").Value
fctFarbe = RGB(228, 239, 242)
Case Else
fctFarbe = RGB(255, 0, 0)
End Select
End Function

Aber wenn du sowieso eine Hilfstabelle (T6:T10) verwendest, warum nicht gleich die Ergebniswerte auch in die Hilfstabelle (z.B. U6:U10) schreiben und mit SVERWEIS/VlookUp darauf zugreifen. SVERWEIS-Parameter "ungefähre Übereinstimmung".
cu
Chris
Anzeige
AW: VBA LZF16 Ausdruck zu komplex (?)
16.10.2018 12:03:32
Dome
Hallo Chris,
Ich danke Dir vielmals. Das Problem ist gelöst. dblWert As Variant und es funktioniert.
LG
Dome

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige