Mehrere RANGE-Bereiche in einem Ereignis
#1
Hallo liebe Experten von Excel,
in diesem Code wird der vorgegeben Range-Bereich B3:B9 Gelb gefärbt.
PHP-Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Exit Sub
   Dim rngBereich As Range
    Set rngBereich = Range("B3:B9")
   Cells.Interior.Color = vbWhite
   If Not Application.Intersect(Target, rngBereich) Is Nothing Then
     Application.Intersect(Target.EntireRow, rngBereich).Interior.Color = vbYellow '
Rem Hellgelb färben
   End 
If
End Sub 
Jetzt möchte ich das im gleichen Ereignis auch der jeweilige Rangebereich ("F5:F9") und ("G3:G4") bei Betreten des Zellbereichs gelb gefärbt wird.
Aber wenn ich die Zeile so ändere
PHP-Code:
Set rngBereich Range("B3:B9""F5:F9""G3:G4"
bekomme ich die Fehlermeldung.
Eine Änderung von EntireRow in EntireColumn geht auch nicht.

Wie muss ich das ändern, damit nur die angegeben Bereiche Gelb werden?
Antworten Top
#2
Moin maine!
Wenn ich fragmentierte Bereiche mit dem Rekorder aufzeichne, erhalte ich
Range("B3:B10,F2:F3,N7:N12")

Du hast da ein paar Füßchen der Gänse zu viel.
Könnte an der Vogelgrippe liegen! Wink

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Smile 
Vogelgrippe! Guter Gag...

Mist! Hab mich mal wieder falsch ausgedrückt.
Also, wenn ich die zuviel gesetzten Vogelfüsse wegnehme, dann funktioniert es ohne Fehlermeldung.

Allerdings sind es zwar angegebene Bereiche, aber eigentlich soll nur die einzelne Zelle Gelb werden.
Und es betrifft die Zellen "B3:B9", F5:F9, G3:G4"

Gruß Achim
Antworten Top
#4
Ich verweise in solchen Fällen gerne auf meine Signatur, Achim …
Finde den Widerspruch zwischen
aber eigentlich soll nur die einzelne Zelle Gelb werden
und
Eine Änderung von EntireRow in EntireColumn geht auch nicht

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hallo,

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim rngBereich As Range
  Set rngBereich = Range("B3:B9,F5:F9,G3:G4")
  rngBereich.Interior.Color = vbWhite
  If Not Application.Intersect(Target, rngBereich) Is Nothing Then
    Target.Interior.Color = vbYellow 'Rem Hellgelb färben
  End If
End Sub

Gruß, Uwe
Antworten Top
#6
Hallo Uwe,

verdammt. So einfach ist es.
Ich hatte schon überlegt es mit
Select Case Target
zu versuchen, weil ich dann die einzelne Zelle ansprechen könnte.
Naja, so schein es ja noch einfacher zu gehen.
Vielen, lieben Dank für die Lösung.

Wünsche dir einen schönen Tag.
Gruß Achim
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste