Union-Abfrage

30/11/2016 - 20:14 von Hans.Alborg | Report spam
Hallo,

<Excel 2007>

Heute verblüfft mich VBA wie folgt:

Set Relais_pos = Union(Cells(24, 14), _
Cells(215, 5))

und nach einer IF-Abfrage...

Set Relais_pos = Union(Relais_pos, _
Cells(51, 2))

frage ich dann (testweise) ab:

Dim fa, fb, fc, fd
fa = Cells(24, myNr + 14).Interior.Color
fb = Cells(215, myNr + 5).Interior.Color
fc = Cells(51, myNr + 2).Interior.Color
fd = Relais_pos.Interior.Color
Stop

fa777215
fb777215
fc777215
fd=0

Ich frage also die Hintergrundfarbe ab, alle 3 Zellben sind weiß.

Jede Zelle besteht allerdings aus 2 verbundenen Einzelzellen.

Die Variablen fa...fd sind nur zum testen gedacht, aber für die Abfrage

IF Relais_pos.Interior.Color = 0 then exit sub

stört das obere Verhalten. Wenn alle Zellen weiß sind soll kein exit sub
stattfinden.

Warum ist fd also 0 wenn jeder einzelne der 3 Bereiche 16777215 ist?

TIA,
Hans
 

Lesen sie die antworten

#1 Claus Busch
30/11/2016 - 20:35 | Warnen spam
Hallo Hans,

Am Wed, 30 Nov 2016 20:14:20 +0100 schrieb Hans.Alborg:

fa777215
fb777215
fc777215
fd=0



ich habe das mal nachgestellt, aber bei mit ist auch fd 777215.
Wenn man einen Bereich auf Hintergrundfarbe abfragt, bekommt man nur die
korrekte Zahl, wenn alle Zellen die gleiche Farbe haben. Wenn mehr als
eine Farbe im Bereich ist, gibt Excel immer 0 aus.
Kontrolliere mal in allen Zellen dieses Bereiches die Hintergrundfarbe.


Mit freundlichen Grüßen
Claus
Windows10
Office 2016

Ähnliche fragen