Einmal statt 100x Variable bestimmen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Frame Label
Bild

Betrifft: Einmal statt 100x Variable bestimmen
von: Geir
Geschrieben am: 17.08.2015 16:50:10

Moin,
ich hab mal ne kurze Frage.
Wenn ich schreibe:
Sub
if xxx = 100 and yyy = 100 and aaa = 100 and bbb = 100
End sub
dann kann ich das ja theoretisch xbeliebig lange fortsetzen. Gibt's da ne Abkürzung?
Dank im Voraus
Geir

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Daniel
Geschrieben am: 17.08.2015 16:56:50
Hi
wenn die Werte so in einzelnen Variablen vorliegen, gibts da nicht viel abzukürzen.
ggf ist das eleganter

dim arr
arr = array(xxx, yyy, aaa, bbb)
if Worksheetfunction.Min(arr) = 100 and Worksheetfunction.Max(arr) = 100 then
in bezug auf die Performance wäre hier sogar die "Verlängerung" sinnvoll:
If xxx = 100 Then
    if yyy = 100 Then
        if aaa = 100 then
            if bbb = 100 then

denn wenn schon xxx nicht 100 ist, brauchen ja auch die restlichen Variabeln nicht mehr überprüft zu werden.
Gruß Daniel

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Geir
Geschrieben am: 17.08.2015 17:01:53
Hallo Daniel,
das war nur ein kurzes Beispiel von mir. Meine tatsächliche If-Prozedur heißt
If Frame1.backcolor = RGB (155, 190, 21) Or Frame 2.backcolor = RGB (155, 190, 21) Then
Label 1.visible = true
Else... usw.
und das bei ca 25 Frames. Das ist ein bisschen lang finde ich.

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Mullit
Geschrieben am: 17.08.2015 17:24:34
Hallo,
das Bsp. hättest Du gleich bringen sollen, dann hätte Daniel auch gleich anders geantwortet, befinden sich die Frames auf einer Form, mußt Du die Controls-Collection abfragen:

Option Explicit
Public Sub test()
  Dim objOLEObject As OLEObject
  With ActiveSheet
        For Each objOLEObject In .OLEObjects
              With objOLEObject
                    If .progID = "Forms.Frame.1" Then _
                      If .Object.BackColor = RGB(155, 190, 21) Then _
                         Exit For
              End With
        Next
        If Not objOLEObject Is Nothing Then _
          .Label1.Visible = True
  End With
End Sub

Gruß, Mullit

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Daniel
Geschrieben am: 17.08.2015 17:43:00
korrekt.
vorallem verunsichert mich der plötzliche Wechsel in der Bediung von AND auf OR.
wenn sich die Fragestelltung vom ersten auf den zweiten Beitrag derart ändert, dann frage ich mich, was das soll.
Warum berschreibt der Fragesteller sein Problem nicht gleich so wie es ist?
Da fällt mir einfach kein sinnvoller Grund ein, warum man sowas machen sollte.
Gruß Daniel

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Geir
Geschrieben am: 17.08.2015 18:56:25
Tut mir Leid Daniel, ich bin ja noch neu hier. Ich dachte das könnte man ableiten.
Aber nicht gleich auf den Schlips getreten fühlen bitte. Absichtlich mach ich sowas schon nicht!!

Bild

Betrifft: AW: Einmal statt 100x Variable bestimmen
von: Daniel
Geschrieben am: 17.08.2015 19:14:00
Hi
wenn nicht absichtlich, warum denn dann?
sorry, das insteressiert mich jetzt einfach.
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Einmal statt 100x Variable bestimmen"