Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

excell anzeige





Frage

hallo ich habe eine excell(win2003) tabelle. ich möchte das nun so haben, das die zeile, mit der ich mit dem coursor gehe aufleuchtet oder sich farbig ändert. ist da möglich???

Antwort 1 von piano

Hallo
Geht nicht, aber Doppelclick oder Rechte Maustaste geht wie folgt:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
    Cells.Select
    Selection.Interior.ColorIndex = xlNone
    With Target.Interior
        .ColorIndex = 43
        .Pattern = xlSolid
    End With
    Target.Select
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
    Cells.Select
    Selection.Interior.ColorIndex = xlNone
    With Target.Interior
        .ColorIndex = 5
        .Pattern = xlSolid
    End With
    Target.Select
Application.ScreenUpdating = True
End Sub


Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -

Antwort 2 von Primut

Hi,

@piano Warum machst du das so umständlich?
mit Worksheet_SelectionChange(ByVal Target As Range) wird doch sofort ein Ereignis ausgelöst, sowie eine Zelle angeklickt wird, mit der Zelladresse als Target.Adress .

@excelll wie gesagt, nur mit dem Coursor über die Zelle zu gehen reicht nicht, anklicken ist das mindeste.
Die wichtige Frage wäre eher, ob die Farbe bleiben soll oder ob sie wieder verschwinden soll, wenn eine andere Zelle angeklickt wird. Das wird dann nämlich, wenn es überhaupt geht, wesentlich schwieriger.


Gruß Primut

Antwort 3 von excelll

sie soll wieder weggehen

Antwort 4 von piano

Hallo
@primut:
Hast recht mit dem Ereignis, aber
Zitat:
sie soll wieder weggehen
geht nur mit der komplizierten Variante.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

End Sub
bzw. (Versionssache)
 Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Select
Selection.Interior.ColorIndex = xlNone
With Target.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Target.Select
Application.ScreenUpdating = True 
End Sub

Wenn allerdings auf der Tabelle andere Farben bestehen bleiben sollen, muß eine Variable eingeführt werden, die festhält, welche Zelle eingefärbt war. Bei Bedarf bitte melden!
Gruß piano

Antwort 5 von excelll

sorry, aber bei mir geht dein code nicht.
er zeigt mir die zeile
bzw. (Versionssache)
Worksheet_SelectionChange(ByVal Target As Range)


rot an, oder muß ich eins davon weg lasen?

habe es mal versucht, aber auch ohne erfolg.
es verändert sich keine kammer

Antwort 6 von woher

Hallo,
Coros scheint nicht online zu sein, er hatte ein entsprechendes Makro hier bereits vorgestellt. Ich könnts jetzt brauchen, finds aber nicht wieder.
mfg
woher
PS:
Hat jemand eine Tabelle der Farbcodeziffern?

Antwort 7 von piano

Hallo
Geh zum VBA_Editor, Doppelklick auf "diese Arbeitsmappe" , wähle links oben "Worksheet", dann rechts oben "SelectionChange".
Dann findest du folgendes Gerüst vor:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

(in AW 4 gemeint war: Die 1. Zeile könnte auch so aussehen: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range), dann lass es dabei!)
Dazwischen kopierst du den Code von AW 4 ein:
Application.ScreenUpdating = False
Cells.Select
Selection.Interior.ColorIndex = xlNone
With Target.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Target.Select
Application.ScreenUpdating = True

wechsle auf Excel und bei Klick sollte sich die Farbe verändern
Ich hoffe du kommst damit klar!
Gruß piano