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

kleiner/größer/gleich operator als variable ?

kleiner/größer/gleich operator als variable ?
13.11.2016 11:34:59
Max2
Hallo Leute,
ich habe eine UserForm mit einer ComboBox, Inhalt der ComboBox sind vergleichsoperatoren.
Der User wählt in ComboBox2 ein Tabellenblatt aus, dann wählt er in ComboBox4 eine Farbe aus, in TextBox3 gibt er einen Wert an und in ComboBox3 den Vergleichsoperator.
Dann drückt er auf Button "Einfärben"
Alles was größer/kleiner/gleich x ist wird eingefärbt, je nach Auswahl eben
Das blöde ist das ich dafür haufenweise If´s brauche.
Kann man die Vergleichoperatoren auch als Variable angeben ?
So dass ich eben nicht für jeden Operator einen If Satz brauche ?
Oder seht Ihr eine Möglichkeit meinen Code anderweitig zu kürzen ?
Hier ein bisschen If Code:

If rngZelle  "" Then
If CbV3 = "" Then

Die Set, With und For Sachen habe ich jetzt mal nicht mit rein gepackt, die tuen eigentlich nicht zur Sache, genauso wie die weiteren beiden If Schleifen, da diese exakt gleich sind nur mit anderem Operator

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

Betreff
Datum
Anwender
Anzeige
AW: Schnipsel-Code zu Schnipsel-Code
13.11.2016 12:00:47
Gerd
Hallo Max2!
Ob unterschiedliche Folgerungen aus unterschiedlichen "Operatoren" gezogen werden, gibt dein Teil-Code nicht her.
If Evaluate(rngZelle.Value & cbv3 & CDbl(TbV3)) Then MsgBox Evaluate(rngZelle.Value & cbv3 & CDbl(TbV3))
Gruß Gerd
AW: Schnipsel-Code zu Schnipsel-Code
13.11.2016 12:18:00
Max2
Hallo Gerd, danke erstmal.
Meinst du damit dass ich es mit meinem Code so wie er ist gar nicht machen kann oder könnte ich es so machen? :
Set wkbHier = ThisWorkbook
Set WksBearbeiten = wkbHier.Sheets(CbV2)
With WksBearbeiten
lngLetzteSpalte2 = .Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 0 To 5
Set rngBearbeiten = WksBearbeiten.Range(.Cells(TbV1, 1), .Cells(TbV2, lngLetzteSpalte2))
For Each rngZelle In rngBearbeiten
If rngZelle  "" Then
If Cbv4 = Farben(i) Then
If Evaluate(rngZelle.Value & cbv3 & CDbl(TbV3)) = True  Then
rngZelle.Interior.ColorIndex = FarbenNr(i)
End If
End If
End If
Next rngZelle
Next i
End With 

Anzeige
AW: Schnipsel-Code zu Schnipsel-Code
13.11.2016 13:06:34
Gerd
Hallo Max,
nein. Damit meinte ich, dass man aus einem Code-Schnipsel nicht sieht, welche weiteren Schritte erfolgen.
Eine Meinung zu deiner erst jetzt gezeigten etwas umfangreicheren Teilprozedur? ... Kann ja nicht Hellsehen!
Cbv4 wird "vor" der Schleife definiert, Farben ebenfalls. Die Prüfung, welche Farbe ausgewählt worden ist, kann deshalb vor der Schleife so etwa gemacht werden (Sehe aber das Befüllen dieser Variablen nicht).
Dim X as Variant
X = Application.Match(Cbv4, Farben, 0)
If IsNumeric(X) Then
'Schleife
Msgbox FarbeNr(X)
End If
Gruß Gerd
Anzeige
AW: Schnipsel-Code zu Schnipsel-Code
14.11.2016 22:34:34
Max2
Danke für deine Hilfe, durch dich habe ich jetzt mal Evaluate und .Match kennen gelernt.
Ja meine Angaben waren leider etwas knapp, aber dieser Code Schnipsel war teil einer sehr umfangreichen großen UserForm und mehreren Modulen usw. deshalb habe ich es sehr spartanisch gehalten.

241 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige