• 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.

Automatisch markeren van actieve rij en kolom in

dabber09

Gebruiker
Lid geworden
2 nov 2011
Berichten
82
hoe kan een range aangeven zodat niet de hele rij en de gehele kolom wordt gegemarkeerd maar alleen maar de grote van de tabel.

Verder heb ik ook een file gemaakt met voorwaardelijk opmaak waar ik wel de gemaarkeerde rijen en kolommen krijg te zien maar wil dan dat de cel op de kruising geen kleur meer krijgt.

1763109797863.png
 
Zo:
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim rng As Range
    Dim rowRng As Range
    Dim colRng As Range

    Cells.Interior.ColorIndex = xlNone
    If Not Intersect(Target, Sh.UsedRange()) Is Nothing Then
        Set rowRng = Intersect(rng, Target.EntireRow)
        Set colRng = Intersect(rng, Target.EntireColumn)
        If Not rowRng Is Nothing Then rowRng.Interior.ColorIndex = 8
        If Not colRng Is Nothing Then colRng.Interior.ColorIndex = 6
        Target.Interior.ColorIndex = xlNone
    End If
End Sub
 
Laatst bewerkt:
voor de witte cel op de kruising heb je tegenwoordig de focuscel mogelijkheid in het lint.
Onder beeld => focuscel
 
Wat is het bereik van rng?
 
Dan zal je code niet werken toch?
 
Dat klopt, er is een regel weggevallen:
Code:
Set rng = Target.CurrentRegion
 
;)
Of:
set rng = sh.usedrange
 
Het overbodige verwijderd.
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
Set rng = Sh.UsedRange
 rng.Interior.ColorIndex = xlNone
   If Not Intersect(Target, rng) Is Nothing Then
        Intersect(rng, Target.EntireRow).Interior.ColorIndex = 8
        Intersect(rng, Target.EntireColumn).Interior.ColorIndex = 6
        Target.Interior.ColorIndex = xlNone
   End If
End Sub
 
hallo HSV waar vul ik in bovenstaande dan de range is bv voor regel a1 tot a20 en voor kolom a1t/mz1
Want in de bovenstaande staat Target.EntireRow en denk ik dan de hele rij en dat zou ik niet willen.
 
De code plaats je in ThisworkBook module.
Er staat ook 'Intersect' voor, test het maar eens.
 
hallo HSV het werkt dankjewel.
wat zorgt er nu voor dat alleen de gevulde cellen gemarkeerd worden ?
 
Code:
Sh.UsedRange

Let wel dat dit in elk werkblad van toepassing is.
Wil je dat niet, dan de code niet in ThisWorkbook maar in de SelectionChange procedure van het werkblad.
 
Ja dankjewel dat wist ik maar toch bedankt voor de info.
File's worden nu weer een stuk overzichtelijker
 
Terug
Bovenaan Onderaan