EXCEL: VBA Code automatisch auslösen
Hallo zusammen
Ich habe in einem Excel-Sheet aus 13 Tabellen zusammen gestellt. Die 13. Tabelle ist eine Zusammenfassung der ersen 12 und entsprechend verlinkt worden. Auf dieser 13. Tabelle muss ich nun einzelne Felder entsprechend den eingegebenen Werten einfärben. Dies habe ich so gelöst:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim icolor As Integer
If Not Intersect(Target, Range("A1:A10")) is Nothing Then
Select Case Target
Case 1 To 5
icolor = 6
Case 6 To 10
icolor = 12
Case 11 To 15
icolor = 7
Case 16 To 20
icolor = 53
Case 21 To 25
icolor = 15
Case 26 To 30
icolor = 42
Case Else
'Whatever
End Select
Target.Interior.ColorIndex = icolor
End If
End Sub
Dies funktioniert eigentlich, doch auf der 13. Tabelle, die mit den anderen verlinkt ist, muss ich alles jede einzelne Zelle anklicken und ENTER drücken, damit die Zellen die Farben über nehmen. Gibt es dafür einen Automatismus?
Für Ratschläge bin ich echt dankbar.
Dani
PS: der Code ist nicht von mir, den habe ich im Internet gefunden.
Antwort schreiben
Antwort 2 von rainberg vom 02.03.2022, 12:27 Options
Hallo Dani,
probier mal das.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngC As Range
If Target.Address <> "$A$1" Then Exit Sub
For Each rngC In Range("a1:a10")
Select Case rngC.Value
Case 1 To 5
rngC.Interior.ColorIndex = 6
Case 6 To 10
rngC.Interior.ColorIndex = 12
Case 11 To 15
rngC.Interior.ColorIndex = 7
Case 16 To 20
rngC.Interior.ColorIndex = 53
Case 21 To 25
rngC.Interior.ColorIndex = 15
Case 26 To 30
rngC.Interior.ColorIndex = 42
End Select
Next
Range("b1").Select
End Sub
Durch Linksklick auf A1 werden die Farben des Bereiches A1:A10 aktualisiert.
Gruss
Rainer
Antwort 3 von Flyingbaloo vom 02.03.2022, 14:28 Options
Danke euch beiden für die Lösungen. Diejenige von Reiner konnte
super einfach einbinden und hat mein Problem gelöst.
Nun habe ich aber noch eine weiter Frage:
- wie kann ich mit einem VRB- Code eine bestimmte Zahl zB 0
unsichtbar machen resp. so färben, damit sie die Hintergrundfarbe der
Zelle bekommt.
Danke
Antwort 4 von rainberg vom 02.03.2022, 15:18 Options
Hallo Dani,
warum dieser Umweg?
Benutze doch einfach das Benutzerdefinierte Zellformat
[=0]"";Standard
Gruss
Rainer
Antwort 5 von Flyingbaloo vom 02.03.2022, 16:20 Options
Reiner, du bist einfach genial! Danke
Es ist einfach schon toll, was man aus dieser Wundebüchse von Excel alles heraus zaubern kann.
Leider habe ich früher von meinem Vater aus nie einen Computer haben dürfen, und irgendwie fehlt mir machmal das gewisse etwas, um die richtigen Codes zu eruieren - liegt einfach nicht in meinem Gespühr. Aber zum Glück gibt es ja das Supportnet und Menschen wie dich.
Danke nochmals und alles Gute.
Dani