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

Opmaak van een deel van een geselecteerde rij veranderen.

Status
Niet open voor verdere reacties.

Revolutionary

Gebruiker
Lid geworden
1 apr 2009
Berichten
183
Beste helpers,

Met behulp van een macro, die geactiveerd wordt met een sneltoets, wil ik de kleur van een deel van een geselecteerde rij aanpassen. Van bepaalde kolommen zou de kleur namelijk hetzelfde moeten blijven.

De vba-code van de macro die ik heb gemaakt ziet er op dit moment als volgt uit:

Code:
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("G22").Select

Hoe kan ik er nu voor zorgen dat de opmaak in bijvoorbeeld de kolommen M t/m Q niet wordt aangepast, ook al worden in deze kolommen wel cellen geselecteerd?

Groeten,
Tim
 
je kunt met een "for each" door de selection lopen en deze code per cel uitvoeren. Indien het kolom nummer van de gebruikte cell overeenkomt met je waarden sla je die over.

Pseudo-code (ongetest):
Code:
for each celletje in Selection
      if celletje.column <> 6 then
          celletje.interior.colorindex = 6
     end if
next celletje
 
Bedankt voor je snelle reactie Wampier!:thumb:

Misschien een domme vraag, maar wat moet ik precies invullen bij "celletje"?
 
niets speciaals. celletje is een variabele. je mag het ook 'henk' of iets anders noemen ;)

volgens mij moet de code die ik heb gegeven werken als ik geen typefout heb gemaakt. een rij cellen selecteren, mijn macro uitvoeren en dan zou alles behalve kolom 6 een nieuwe kleur moeten krijgen
 
Beste Wampier,

Bedankt! In eerste instantie had ik jouw vba-code voor de mijne gezet, maar dan werkt ie dus niet. Maar nu begrijp ik dat jouw vba-code voldoende is, ik dacht eerst dat het een aanvulling was op mijn code...

De code werkt prima! Hardstikke bedankt!

Ik zet deze topic op opgelost:)

Tim
 
Ik heb deze topic toch weer op ongelost gezet, want ik loop tegen een probleem aan...
Het lukt mij niet om de kleur die ik wil gebruiken in de vba-code te verwerken.

De VBA-code ziet er nu als volgt uit:
Code:
Sub Macro3()

For Each celletje In Selection
      If celletje.Column <> 4 Then
      If celletje.Column <> 9 Then
      If celletje.Column <> 13 Then
      If celletje.Column <> 14 Then
      If celletje.Column <> 15 Then
      If celletje.Column <> 16 Then
      If celletje.Column <> 17 Then
      If celletje.Column <> 22 Then
      If celletje.Column <> 23 Then
      If celletje.Column <> 24 Then
      If celletje.Column <> 25 Then
      If celletje.Column <> 26 Then
      If celletje.Column <> 27 Then
      
          celletje.Interior.ColorIndex = 6
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next
End Sub

Deze code werkt, maar in plaats van dat de kleur geel moet zijn (colorindex = 6), moet het een bepaald soort rood worden. De VBA-code van deze kleur rood staat hieronder:

Code:
Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399975585192419
        .PatternTintAndShade = 0

Nu heb ik geprobeerd om colorindex = 6 te veranderen voor bovenstaande code, maar dan krijg ik een foutmelding met de tekst "Ongeldige of niet-gekwalificeerde verwijzing".

Ik zal wel iets over het hoofd zien... Weet iemand wat ik fout doe?

Groeten,
Tim
 
hoi Revolutionary

in plaats van:
Code:
celletje.Interior.ColorIndex = 6

zet je:

Code:
With celletje.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399975585192419
        .PatternTintAndShade = 0
end With

groet sylvester
 
with celletje.interior
..

of

celletje.interior.pattern = xlSolid
celletje.interior.PatternColorIndex = xlAutomatic
etc.
 
Beste Sylvester,

Bedankt voor je snelle reactie!:thumb:
Met jouw code is het gelukt, dus deze topic zet ik weer op opgelost.

Tim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan