Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
168to172
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
168to172
168to172
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

bedingte formatierung

bedingte formatierung
16.10.2002 15:30:59
ralf
nach klick mit dem cursor auf eine zelle soll diese z.b. gelb werden. wie bekomme ich das hin?
gruss

ralle

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: bedingte formatierung
16.10.2002 15:35:37
Folker
Ich würde das noch an eine checkbox koppeln, damit man die Funktion auch auschalten kann.

Re: bedingte formatierung
16.10.2002 15:39:29
geri
geh auf Format und denn bedingte Formatierung
mit "CLICK" würde ich dir nicht empfehlen, mit oberen Lösung ist es abhängig von ..... zB. Datum v. heute, grösser als >1 usw

gruss
geri

Re: bedingte formatierung
16.10.2002 15:42:01
Hajo_Zi
Hallo ralf

bedingte Formatierung ist da wohl der Falsche Ansatz. Mit VBA damit die Farbe auch wieder zurückgestellt wird. Im Beispiel ist die Farbe rot


In ein modil
Option Explicit
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String


in DieseArbeitsmappe
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If OldRange <> "" Then ActiveSheet.Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_Open()
    OldRange = ActiveCell.Address
    Register = ActiveSheet.Name
    OldColorIndex = ActiveCell.Interior.ColorIndex
    ActiveCell.Interior.ColorIndex = 3
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    OldRange = ActiveCell.Address
    OldColorIndex = ActiveCell.Interior.ColorIndex
    ActiveCell.Interior.ColorIndex = 3
    Register = ActiveSheet.Name
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If OldRange <> "" Then Worksheets(Register).Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As ObjectByVal Target As Range)
'   Beim 1. Aufruf ist OldRange noch undefiniert
    If OldRange = "" Then
        OldRange = Target.Address
        OldColorIndex = Target.Interior.ColorIndex
'       Setze Hintergrundfarbe der aktiven Selection auf Rot
        Target.Interior.ColorIndex = 3
    Else
'       Setze alten Range auf alte Farbe
        If Range(OldRange).Interior.ColorIndex = 3 Then
            Range(OldRange).Interior.ColorIndex = OldColorIndex
        End If
        OldColorIndex = Target.Interior.ColorIndex
'       Merke mir aktuellen Adresse für nächsten Aufruf
        OldRange = Target.Address
'       Setze Hintergrundfarbe der aktiven Selection auf Rot
        Target.Interior.ColorIndex = 3
    End If
End Sub
 

     Code eingefügt mit Syntaxhighlighter 1.16

Gruß Hajo

Anzeige
Re: bedingte formatierung
16.10.2002 16:13:09
ralf
ja, funktioniert so, aber es gibt noch 2 problem: zum einem soll das ganze bei bestimmten spalten funktionieren, also spalte g1-g20, h1-h20, zum andern soll die zelle rot bleiben auch wenn ich eine andere zelle anklicke. das ganze soll mir nur zeigen dass ich die zelle angeklickt habe und die werte die darin stehen o.k. sind,
gruss

ralle

Re: bedingte formatierung
16.10.2002 16:17:11
Hajo_Zi
Hallo Ralf

da bin ich dann mal der Auffasung, ich habe genug arbeit in diesen Beitrag gesteck. Du hättest mal gleich zum Anfang die Aufgabe komplett beschreiben sollen.

Gruß Hajo

Re: bedingte formatierung
17.10.2002 11:35:34
Andre B
Hey, vielleicht hast du schon ´ne Lösung gefunden, wenn nicht, hier ´n kleiner Code:

Damit läuft es nur in bestimmten Zellen und bei geschütztem Blatt. Nur noch étwas für deine Bedürfnisse anpassen.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [C1] = "Y" Then GoTo Ende2
Set Bereich = Range("B7:F59")
If Intersect(Target, Bereich) Is Nothing Then GoTo Ende ' Abbruch, wenn Aktion nicht im Zielbereich
ActiveSheet.Unprotect ("andre")
Cells.FormatConditions.Delete
Dim lngRow As Long
lngRow = ActiveCell.Row
Range(Cells(lngRow, 2), Cells(lngRow, 6)).FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="=""iojöl89989k"""
Range(Cells(lngRow, 2), Cells(lngRow, 6)).FormatConditions(1).Interior.ColorIndex = 6
ActiveSheet.Protect ("andre")
Exit Sub
Ende:
If [C1] = "Y" Then GoTo Ende2
Set Bereich = Range("I7:L58")
If Intersect(Target, Bereich) Is Nothing Then Exit Sub ' Abbruch, wenn Aktion nicht im Zielbereich
ActiveSheet.Unprotect ("andre")
Cells.FormatConditions.Delete
Dim lngRow2 As Long
lngRow2 = ActiveCell.Row
Range(Cells(lngRow2, 9), Cells(lngRow2, 13)).FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="=""iojöl89989k"""
Range(Cells(lngRow2, 9), Cells(lngRow2, 13)).FormatConditions(1).Interior.ColorIndex = 6
ActiveSheet.Protect ("andre")
Ende2:
End Sub

Gruß Andre

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige