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

Range selecteren op zichtbare cellen en value en empty cellen geel maken

Status
Niet open voor verdere reacties.

mause01

Gebruiker
Lid geworden
19 okt 2012
Berichten
75
ik heb de volgende code geschreven.
Hierbij wordt er een range geselecteerd en de tussenliggende cellen worden geel.
alleen loop ik tegen een probleem aan dat ik enkel de zichtbare cellen moet selecteren.
ik verberg kolommen wanneer er geen value in de cellen zitten.

daarna wil ik aangeven dmv de gele cellen welke waarden vergeten zijn.

Wie kan mij helpen.
Code:
Sub Macro_Select3()

  With Range("B2:AI2")
'rij 2 selecteren
     .Select
'rij 2 grijs kleuren
     .Interior.ColorIndex = 15
  End With
  Range("B7:AI" & Range("B" & Rows.Count).End(xlUp).Row).Interior.ColorIndex = xlNone
  Lrow = Range("B" & Rows.Count).End(xlUp).Row
  Lcol = Range("B" & Lrow).End(xlToRight).Column
  Set MR = Range(Cells(7, "B"), Cells(Lrow, Lcol))
    For Each cell In MR
        If cell.Value <> "" Then MR.SpecialCells(xlCellTypeConstants).Select
        If cell.Value <> "" Then cell.Interior.ColorIndex = 0
        If cell.Value = "" Then cell.Interior.ColorIndex = 6: Cells(2, cell.Column).Interior.ColorIndex = 3
    Next
    
End Sub

nu selecteerd hij alle kolommen in range B7:AI en dit moet enkel de zichtbare kolommen zijn.

Bekijk bijlage Sync_Salto_V2.1.2 MvO.rar
 
Laatst bewerkt:
Zo dan:
Code:
If cl.Value = "" [COLOR="#FF0000"]And Columns(cl.Column).Hidden = False [/COLOR]Then cl.Interior.ColorIndex = 6: Cells(2, cell.Column).Interior.ColorIndex = 3
 
@mause

Helpmij is niet alleen voor heren (whatever those may be).
Kun je svp iedere genderselektieve aanhef vermijden ?
 
Bedankt dat werkt goed qua zichtbare cellen.

Enkel loop ik tegen 1 probleem aan.
wanneer ik dit doe is het goed.
select1.PNG
wanneer ik een cel van de onderste rij leeg laat gaat de selectie niet verder.
select2.PNG

hoe kan ik dit oplossen :confused:
 
Afbeeldingen en .rar bestanden helpen jou niet echt vooruit. Het is een Excel-Forum. Dus wat het probleem is om een excel bestand te plaatsen?
 
Zet die eens op een plaats in de code, en dan zie je het vanzelf waarom niet.
Code:
 msgbox MR.address
 
Beste VenA,

Hierbij een excel bestand waar je blij van wordt denk ik. :thumb:
Ik hoop dat deze duidelijk is.

Probleem:
wanneer ik cel H13 in dit voorbeeld leeg laat gaat de selectie niet verder.

Enkel zit ook met de cel meest rechts onderin de selectie. (Q13)
Deze wordt niet Geel zoals bedoeld.

Bekijk bijlage test.xlsm
 

Bijlagen

  • test.xlsm
    22,1 KB · Weergaven: 25
Laatst bewerkt:
Ik wordt nooit zo blij van niet representatieve voorbeeldjes.

Je bepaalt hier de range van de bewerkingen toch?
Code:
Range("B7:AI" & Range("B" & Rows.Count).End(xlUp).Row)

Dan zou het hiermee moeten lukken.

Code:
Sub VenA()
With Blad1.Range("B7:AI" & Range("B" & Rows.Count).End(xlUp).Row)
  .Interior.ColorIndex = xlNone
  For Each cl In .Cells.SpecialCells(12).SpecialCells(4)
    cl.Interior.ColorIndex = 6
    .Parent.Cells(2, cl.Column).Interior.ColorIndex = 3
  Next cl
End With
End Sub
 
Beste VenA,

Bedankt voor de code deze werkt goed wanneer een cel in de range geel moet kleuren. (niet ingevulde cel)
Maar wanneer alle cellen netjes ingevuld zijn krijg ik een fout.
Ik ben niet helemaal bekend met de code zoals je hem heb geschreven, dus vandaar ik het vraag.

Fout aanduiding:
error.PNG

Test bestand met marco AenV
Bekijk bijlage test.xlsm

Bedankt alvast voor de moeite.
 
Als er geen Specialcells gevonden worden krijg je inderdaad een foutmelding. Zo niet meer.

Code:
Sub VenA()
With Blad1.Range("B7:AI" & Range("B" & Rows.Count).End(xlUp).Row)
  .Interior.ColorIndex = xlNone
  On Error Resume Next
  For Each cl In .Cells.SpecialCells(12).SpecialCells(4)
    cl.Interior.ColorIndex = 6
    .Parent.Cells(2, cl.Column).Interior.ColorIndex = 3
  Next cl
End With
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan