• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cursor wijzigen

Status
Niet open voor verdere reacties.

CrashPuppy

Gebruiker
Lid geworden
28 feb 2006
Berichten
399
Hoe kan ik de kleur van de cursor wijzigen.
Nu wordt een geselecteerde cel omlijnd weergegeven indien men erop staat.
Is er een mogelijkheid om de binnenkant van de lijnen van een andere transparante kleur te voorzien. bijvoorbeeld dat de geselecteerde cel rose o.i.d. wordt, zodat men beter kan zien waar de cursor zich bevind.

Crash
 
Dit zou moeten werken:

Code:
Dim prev As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not prev Is Nothing Then prev.Interior.ColorIndex = 0
    Target.Interior.ColorIndex = 3
    Set prev = Target
End Sub

Zet het in de VBA code achter het blad waar je het wilt gebruiken. Het maakt de actieve selectie rood.

Vele variaties zijn mogelijk, experimenteer maar wat.

Wigi
 
Hoi Wigi

Het werkt wel, maar het is niet de bedoeling dat mijn reeds leuk ingekleurde werkblad volledig blanco wordt.
Wanneer ik een aantal cellen selekteer om deze met een andere kleur te vullen, dan verdwijnen deze weer.

Iets soortgelijks zoek ik dus wel, maar dan anders.

Het moet van toepassing zijn op de hele werkmap. Zelf dacht ik dat er iets binnen de systeems- cq programmainstellingen van excel veranderd moet worden maar ik weet niet hoe en waar ik moet zoeken.

Crash
 
Het werkt wel, maar het is niet de bedoeling dat mijn reeds leuk ingekleurde werkblad volledig blanco wordt.
Wanneer ik een aantal cellen selekteer om deze met een andere kleur te vullen, dan verdwijnen deze weer.

Snap je nu waarom ik schreef:

Vele variaties zijn mogelijk, experimenteer maar wat.

Ik bedoel dus: ipv. de cel te kleuren, zet er eens gekleurde randen omheen oid.
 
Probeer dit eens juist gevonden op het internet (met behoud van kleuren).

'Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
h = ActiveCell.Height
w2 = ActiveCell.Width
t = ActiveCell.Top
W = ActiveCell.Left

On Error Resume Next
ActiveSheet.Shapes("RectangleV").Delete
On Error Resume Next
ActiveSheet.Shapes("RectangleH").Delete

ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, t, W, h).Name = "RectangleV"
With ActiveSheet.Shapes("RectangleV")
.Fill.Visible = msoFalse
.Fill.Transparency = 0#
.Line.Weight = 2#
.Line.ForeColor.SchemeColor = 10
.PrintObject = False
End With

ActiveSheet.Shapes.AddShape(msoShapeRectangle, W, 0, w2, t).Name = "RectangleH"
With ActiveSheet.Shapes("RectangleH")
.Fill.Visible = msoFalse
.Fill.Transparency = 0#
.Line.Weight = 1#
.Line.ForeColor.SchemeColor = 10
.PrintObject = False
End With
End Sub

Pierre
 
Mooi Pierre!

En als je nog meer met With werkt, en de onnodige regels eruit laat, krijg je:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With ActiveCell
    h = .Height
    w2 = .Width
    t = .Top
    W = .Left
End With

With ActiveSheet
    On Error Resume Next
    .Shapes("RectangleV").Delete
    .Shapes("RectangleH").Delete
    
    .Shapes.AddShape(msoShapeRectangle, 0, t, W, h).Name = "RectangleV"
    With .Shapes("RectangleV")
        .Fill.Visible = msoFalse
        .Fill.Transparency = 0#
        .Line.Weight = 2#
        .Line.ForeColor.SchemeColor = 10
        .PrintObject = False
    End With
    
    .Shapes.AddShape(msoShapeRectangle, W, 0, w2, t).Name = "RectangleH"
    With .Shapes("RectangleH")
        .Fill.Visible = msoFalse
        .Fill.Transparency = 0#
        .Line.Weight = 1#
        .Line.ForeColor.SchemeColor = 10
        .PrintObject = False
    End With
End With
End Sub

Het zou zelfs nog simpeler kunnen als je beide shapes hetzelfde gewicht geeft. Nu is het 1 en 2. De rest van de eigenschappen is toch gelijk.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan