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

hele rij opgelichten ExcelXP

Status
Niet open voor verdere reacties.

jvsoest

Gebruiker
Lid geworden
2 okt 2000
Berichten
741
Hallo,

Wat ik graag zou willen is het volgende:

wanneer je in een cel staat of als deze geselecteerd is wil ikgraag dat de hele rij een oplicht, dit is zeer overzichtelijk voor bepaalde spreadsheets.
Is dit een optie of komt er toch VBA aan te pas?

Bedankt alvast!
 
Zo... eindelijk weer eens een leuke vraag :P

Oké... Ik heb deze even voor je gemaakt tot Row "Z".
Je kunt hem aanvullen zoveel je wilt.
Even spelen met de kleuren is ook leuk. Als voorbeeld heb ik een aantal gewijzigd. Voor andere kleuren verwijs ik je naar http://www.mvps.org/dmcritchie/excel/colors.htm

Kopieer en plak deze in Blad 1 in de VBA-Editor uiteraard :rolleyes:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column < 1 Then
Columns(1).Interior.ColorIndex = 0
Else
Columns(1).Interior.ColorIndex = 0
Columns(2).Interior.ColorIndex = 0
Columns(3).Interior.ColorIndex = 0
Columns(4).Interior.ColorIndex = 0
Columns(5).Interior.ColorIndex = 0
Columns(6).Interior.ColorIndex = 0
Columns(7).Interior.ColorIndex = 0
Columns(8).Interior.ColorIndex = 0
Columns(9).Interior.ColorIndex = 0
Columns(10).Interior.ColorIndex = 0
Columns(11).Interior.ColorIndex = 0
Columns(12).Interior.ColorIndex = 0
Columns(13).Interior.ColorIndex = 0
Columns(14).Interior.ColorIndex = 0
Columns(15).Interior.ColorIndex = 0
Columns(16).Interior.ColorIndex = 0
Columns(17).Interior.ColorIndex = 0
Columns(18).Interior.ColorIndex = 0
Columns(19).Interior.ColorIndex = 0
Columns(20).Interior.ColorIndex = 0
Columns(21).Interior.ColorIndex = 0
Columns(22).Interior.ColorIndex = 0
Columns(23).Interior.ColorIndex = 0
Columns(24).Interior.ColorIndex = 0
Columns(25).Interior.ColorIndex = 0
Columns(26).Interior.ColorIndex = 0

Range("A" & Target.Row).Interior.ColorIndex = 17
Range("B" & Target.Row).Interior.ColorIndex = 17
Range("C" & Target.Row).Interior.ColorIndex = 37
Range("D" & Target.Row).Interior.ColorIndex = 37
Range("E" & Target.Row).Interior.ColorIndex = 5
Range("F" & Target.Row).Interior.ColorIndex = 5
Range("G" & Target.Row).Interior.ColorIndex = 17
Range("H" & Target.Row).Interior.ColorIndex = 17
Range("I" & Target.Row).Interior.ColorIndex = 37
Range("J" & Target.Row).Interior.ColorIndex = 37
Range("K" & Target.Row).Interior.ColorIndex = 5
Range("L" & Target.Row).Interior.ColorIndex = 5
Range("M" & Target.Row).Interior.ColorIndex = 17
Range("N" & Target.Row).Interior.ColorIndex = 17
Range("O" & Target.Row).Interior.ColorIndex = 37
Range("P" & Target.Row).Interior.ColorIndex = 37
Range("Q" & Target.Row).Interior.ColorIndex = 5
Range("R" & Target.Row).Interior.ColorIndex = 5
Range("S" & Target.Row).Interior.ColorIndex = 5
Range("T" & Target.Row).Interior.ColorIndex = 5
Range("U" & Target.Row).Interior.ColorIndex = 5
Range("V" & Target.Row).Interior.ColorIndex = 5
Range("W" & Target.Row).Interior.ColorIndex = 5
Range("X" & Target.Row).Interior.ColorIndex = 5
Range("Y" & Target.Row).Interior.ColorIndex = 5
Range("Z" & Target.Row).Interior.ColorIndex = 5
End If
End Sub

Succes................. :thumb:
 
Laatst bewerkt:
Hallo Hydra,

Bedankt voor je reactie.

Betekent deze dat wanneer je dus van b1 naar b2 gaat rij 2 gekleurd wordt en als van b2 naar b4 naar dat rij 2 weer normaal wordt en dat b4 gekleurd wordt?

Ik hoop het want dat is precies wat ik zoek!!!
 
Yep.... Helemaal correct.
Probeer het eerst maar eens. Je zult zien...
Start cryin' of joy :p

Ow... jah.. Ik heb nog even iets aangepast dus gebruik de code zoals ie er thans staat. :thumb:
 
Leuke toepassing.

Als je alleen de actieve cel wilt kleuren kun je het 2e gedeelte, beginnend met range, vervangen door Target.Interior.ColorIndex = 17

Houd er rekening mee dat als je gekleurde cellen opgenomen hebt in je werkblad die op deze manier verdwijnen .
 
Daar heeft Jan een heel goed punt. Denk daar inderdaad goed om. :D

EDIT: om eventuele foutmeldingen te voorkomen maak er dan even het volgende van....

If Target.Column < 1 Then
Exit Sub
Else
Columns(1).Interior.ColorIndex = 0
Columns(2).Interior.ColorIndex = 0
Columns(3).Interior.ColorIndex = 0
....... etc... etc... etc...

Even een vraagje tussendoor... Hoe kan ik een "code-optie" maken. Met andere woorden: Hoe kan ik de code in een aparte veld laten zien met inspringende tabs? (Als je begrijpt wat ik bedoel)
 
Laatst bewerkt:
Hier kun je wel kleuren mee inbrengen :
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


OF

'Op voorwaarde dat je geen cellen kleurt (U mag nog wel tekst kleuren; Randen
'kleuren; tekst vet maken; Grote tekst; kleine tekst), kan je volgende code
'in de programmacode van een werkblad plaatsen.

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Cells.Interior.ColorIndex = xlColorIndexNone
' ActiveCell.EntireRow.Interior.ColorIndex = 15
' ActiveCell.EntireColumn.Interior.ColorIndex = 15
'End Sub


'Er zijn natuurlijk nog andere mogelijkheden, indien je b.v. wel cellen
'kleurt, maar geen kaders gebruikt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Borders.ColorIndex = xlColorIndexNone
ActiveCell.EntireRow.Borders.ColorIndex = 3
ActiveCell.EntireColumn.Borders.ColorIndex = 3
End Sub


OF

Misschien de beste :
http://www.cpearson.com/excel/RowLiner.htm

OF
Hier is nog een mogelijkheid van een Duitse site
werkt voor Office 2000 en XP

http://www.bernd-augustin.de/

Klik dan op "AddIns fur Excel

onder N 16 Zeilenmakierung als je klik op deze naam zie je een voorbeeld,
werkt met een menubalk voor aan of uit te zetten.


En met één zin van Heyndrickx Luc
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Name = "Cel"
End Sub



Pierre
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan