Aktuelle Zelle farbig

  • Aktuelle Zelle farbig von mr.bjoern@gmx.de vom 06.04.2005 20:56:30
    • AW: Aktuelle Zelle farbig - von Hajo_Zi am 06.04.2005 21:00:23
      Bild

      Betrifft: Aktuelle Zelle farbig von: mr.bjoern@gmx.de
      Geschrieben am: 06.04.2005 20:56:30

      Hallo Zusammen,

      hoffe ihr könnt mir helfen?
      Ist sicher nur ne kleinigkeit.
      Ich möchte, das sich die zelle farbig hervorhebt in der der cursor gerade ist.
      Also wenn ich in a1 bin, dann soll a1 zb rot sein, wenn ich in b4 klicke, soll b4 farbig sein.
      Geht das?

      mfg

      Björn

      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: Hajo_Zi
      Geschrieben am: 06.04.2005 21:00:23

      Hallo Björn,

      du magst ja der Auffassung sein das dies eine Kleinigkit ist, aber ich muß Dir mitteilen das ist Sie nicht.
      Schaue mal auf meine Homepage da gibt es einige Beispiele zu diesem Problem auf der Seite VBA.

      Beispieldatei


      Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Home und Excel Version XP 2003 SP1.
      Bitte keine Mail, Probleme sollten im Forum gelöst werden.
      Microsoft MVP für Excel
      Das Forum lebt auch von den Rückmeldungen.
      Betriebssystem XP Pro SP2 und Excel Version 2003 SP1.



      "Wer Rechtschreibfehler findet, darf sie behalten!"


      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: Herbert
      Geschrieben am: 06.04.2005 22:45:31

      Hallo Hajo,

      mich interessiert dieses Problem auch, traue mich aber nicht, die Datei zu downloaden (komischer Pfad in der Statusleiste - www.download.....).
      Kannst du den Code nicht hier einstellen? Da haben alle was davon, ohne in eine Falle zu tappen.

      Gruß Herbert


      Bild


      Betrifft: AW: nimm halt das von: FP
      Geschrieben am: 06.04.2005 22:59:58

      Hallo Herbert,



      in den Ereignisbereich des Blattes diesen Code einfügen:

      Das geht so:
      a) Klick mit rechter Maustaste auf Blattregister
      b) Menupunkt "Code anzeigen" auswählen
      c) im sich jetzt öffnenden Fenster alles durch den nachfolgenden Code ersetzen


      Option Explicit
      Public rngPrev As Range
      Public varIC As Variant
      Public varFC As Variant
      
      Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        Application.EnableEvents = False
        If Not rngPrev Is Nothing Then
          rngPrev.Interior.ColorIndex = varIC
          rngPrev.Font.ColorIndex = varFC
        End If
        Set rngPrev = Target
        
        With Target(1)
          varIC = .Interior.ColorIndex
          varFC = .Font.ColorIndex
          .Interior.ColorIndex = _
            IIf(varFC = xlColorIndexAutomatic, 1, varFC)
          .Font.ColorIndex = _
            IIf(varIC = xlColorIndexNone, 2, varIC)
        End With
        
        Application.EnableEvents = True
      End Sub


      Servus aus dem Salzkammergut
      Franz


      Bild


      Betrifft: AW: nimm halt das von: Herbert
      Geschrieben am: 06.04.2005 23:56:35

      Hallo Franz,

      habe auch deine Version getestet - klappt auch wunderbar. Ransi´s Code macht aber das gleiche und ist viel kürzer (für mich jedenfalls). Erkenne außer Zellhintergrund rot und schwarz keinen Unterschied. Kannst du mir den vielleicht erklären?

      Danke & Gruß
      Herbert


      Bild


      Betrifft: AW: na ja... von: FP
      Geschrieben am: 07.04.2005 01:00:07

      Hallo Herbert,

      formatiere einmal ein paar Zellen mit einer anderen Hintergrund- bzw. Schriftfarbe .... ;-)

      Servus aus dem Salzkammergut
      Franz


      Bild


      Betrifft: AW: na ja... von: Herbert
      Geschrieben am: 07.04.2005 08:22:15

      Hallo Franz,

      tatsächlich stellt er den Urzustand wieder her, aber nur, wenn die Zellen vor der "Inbetriebnahme" des Codes formatiert waren. Im Nachhinein sind keine Formatierungen mehr möglich.
      Jetzt bin ich wieder ein Stückchen schlauer.

      Gruß Herbert


      Bild


      Betrifft: AW: na ja... von: Mr.Bjoern@gmx.de
      Geschrieben am: 09.04.2005 11:02:28

      Vielen dank für eure Hilfe.
      Das funktioniert ja prima.
      Nur hab ich da noch ein Problem.
      In einem leeren Blatt funktioniert es. Ich hab aber schon ein Blatt wo ich code drinnen habe:


      
      Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      'Durch den folgenden Code werden verschiedene Spalten (Zellen) überprüft.
      'Es werden Zellen miteinander verglichen. Ist z.b in einer bestimmten Zelle bereits
      'ein Wert vorhanden, können dadurch die anderen Zellen nicht mehr ausgewählt werden.
      'Außer durch das Makro das hinter der Schaltfläche "Übernehmen" steht.
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 3 Then
          If Range("I11").Value <> "" Then
            Range("I11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 3 Then
          If Range("G11").Value <> "" Then
            Range("G11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 7 Then
          If Range("I11").Value <> "" Then
            Range("I11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 9 Then
          If Range("G11").Value <> "" Then
            Range("G11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 5 Then
          If Range("I11").Value <> "" Then
            Range("I11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 5 Then
          If Range("G11").Value <> "" Then
            Range("G11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 7 Then
          If Range("C11").Value <> "" Then
            Range("C11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 7 Then
          If Range("E11").Value <> "" Then
            Range("E11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 9 Then
          If Range("C11").Value <> "" Then
            Range("C11").Activate
          End If
        End If
        Application.EnableEvents = True
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 9 Then
          If Range("E11").Value <> "" Then
            Range("E11").Activate
          End If
        End If
        Application.EnableEvents = True 
      End If
      If Range("A100").Value = 0 Then
        Application.EnableEvents = False
        If Target.Column = 3 Then
          If Range("E11").Value <> "" Then
            Range("E11").Activate
          End If
        End If
        Application.EnableEvents = True
        
      End If
      End Sub


      Hier funktioniert das leider nicht.
      Kann mir einer sagen warum?
      oder wie ich den abändern muss, das die funktionen die ich hab erhalten bleiben und ich zusätzlich noch beim Zellenwechsel die Markierung habe?

      gruß

      BJörn


      Bild


      Betrifft: AW: na ja... von: Reinhard
      Geschrieben am: 09.04.2005 13:32:03

      Hallo Björn,
      ungetestet:
      Option Explicit
      Public rngPrev As Range
      Public varIC As Variant
      Public varFC As Variant

      
      Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      'Durch den folgenden Code werden verschiedene Spalten (Zellen) überprüft.
      'Es werden Zellen miteinander verglichen. Ist z.b in einer bestimmten Zelle bereits
      'ein Wert vorhanden, können dadurch die anderen Zellen nicht mehr ausgewählt werden.
      'Außer durch das Makro das hinter der Schaltfläche "Übernehmen" steht.
      Application.EnableEvents = False
      If Range("A100").Value = 0 Then
          Select Case Target.Column
              Case 3
                  If Range("I11").Value <> "" Then Range("I11").Activate
                  If Range("G11").Value <> "" Then Range("G11").Activate
                  If Range("E11").Value <> "" Then Range("E11").Activate
              Case 5
                  If Range("I11").Value <> "" Then Range("I11").Activate
                  If Range("G11").Value <> "" Then Range("G11").Activate
              Case 7
                  If Range("I11").Value <> "" Then Range("I11").Activate
                  If Range("C11").Value <> "" Then Range("C11").Activate
                  If Range("E11").Value <> "" Then Range("E11").Activate
              Case 9
                  If Range("G11").Value <> "" Then Range("G11").Activate
                  If Range("C11").Value <> "" Then Range("C11").Activate
                  If Range("E11").Value <> "" Then Range("E11").Activate
          End Select
      End If
      If Not rngPrev Is Nothing Then
          rngPrev.Interior.ColorIndex = varIC
          rngPrev.Font.ColorIndex = varFC
      End If
      Set rngPrev = Target
      With Target(1)
          varIC = .Interior.ColorIndex
          varFC = .Font.ColorIndex
          .Interior.ColorIndex = IIf(varFC = xlColorIndexAutomatic, 1, varFC)
          .Font.ColorIndex = IIf(varIC = xlColorIndexNone, 2, varIC)
      End With
      Application.EnableEvents = True
      End Sub

      Gruß
      Reinhard


      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: Hajo_Zi
      Geschrieben am: 07.04.2005 06:08:53

      Hallo Herbert,

      Du glaupst doch nicht das ich hier eine eigenartige Datei verlinke. Der lange Name hat nur was mit dem Downloadzähler zu tun.

      Gruß Hajo

      Das Forum lebt auch von den Rückmeldungen.


      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: Herbert
      Geschrieben am: 07.04.2005 09:39:11

      Hallo Hajo,

      dass du hier eigenartige Dateien verlinkst, will ich dir nicht unterstellen, nur Vertrauen ist gut - Kontrolle ist besser.
      Links über Umwege sind oft anrüchig ;-(
      Aber mein Problem hat sich dank Ransi und Franz geklärt.

      Gruß Herbert


      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: Herbert
      Geschrieben am: 06.04.2005 22:57:23

      Hallo Hajo,

      hat sich schon erledigt.
      Ransi´s Code ist ganz kurz, unkompliziert und macht genau das, was ich will - für Profis also doch eine Kleinigkeit.

      Gruß Herbert


      Bild


      Betrifft: AW: Aktuelle Zelle farbig von: ransi
      Geschrieben am: 06.04.2005 21:02:04

      hallo

      versuchs mal so:
      löscht dir aber die vorher einestellten farben.

      Dim rot As Range
      
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      On Error Resume Next
      rot.Interior.ColorIndex = xlNone
      Set rot = ActiveCell
      rot.Interior.ColorIndex = 3
      End Sub


      ransi


       Bild

      Beiträge aus den Excel-Beispielen zum Thema "Aktuelle Zelle farbig"