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

Macro op alle tabbladen uitvoeren

Status
Niet open voor verdere reacties.

ikkuh007

Gebruiker
Lid geworden
28 jun 2013
Berichten
62
hallo allemaal,

ik heb even een vraagje. Ik heb een macro (gevonden op internet, zelf aangepast), voor mijn excel bestand:
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    
    With Target
    
     Select Case .Value
       Case Is = "Crea/Indu"
           .Interior.ColorIndex = 6
       Case Is = "OBS"
           .Interior.ColorIndex = 33
       Case Is = "Hout"

'hier nog meer....

        Case Else
           .Interior.ColorIndex = xlNone
     End Select

    End With
    

   End Sub

Ik heb op het hoofdblad een rooster, welke ik met koppeling naar andere tabbladen automatisch kopieër (5 andere).
Nu wil ik dat de kleuren per cel meegaan, zoals bovenin gegeven zijn.
Op het hoofdblad werkt het, maar op de andere bladen niet.

Kan iemand mij vertellen hoe dit werkt?
Ik snap dr niks van...

Mvg,
 
Als ik je vraag snap.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) werkt alleen voor het blad waar de code staat.
ofwel zet je je code ook in de 5 andere bladen of 1 maal in the ThisWorkbook module voor alle bladen. (als je bladen hebt die niet moeten veranderen, dit niet gebruiken)
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
uw code
End Sub
 
Goedemiddag,

Allereerst super bedankt voor je bericht. Ik heb de code al in alle tabbladen gezet en in ThisWorkbook.
Wanneer in de code in alle tabbladen zet, krijg ik foutmelding 13 en in ThisWorkbook, gebeurt er niks meer.

Aangezien ik er echt niks van snap, zou je de code compleet kunnen maken, zodat het kopieeren plakken is?
Alvast bedankt.
 
Code in de 5 werkbladen of 1 maal in de ThisWorkbook module, niet in beide.
Post een gelijkend voorbeeldbestandje zonder gevoelige gegevens,zorg ervoor dat het duidelijk is wat je wilt bereiken.
 
Ik heb een bestand met 5 tabbladen.
Tabblad hoofdrooster en nog 4 met afdelingsnamen.
Het hoofdrooster is leidend waar ik dingen in wil veranderen, de andere tabbladen kopieer ik eenmalig een deel van het hoofdrooster in.

Nu heeft elke afkorting een eigen kleur, welke ik in de VBA weggezet heb. OBS wordt blauw, tuin groen. Als ik het woordje OBS in het hoofdrooster zet, moet de achtergrond blauw worden, maar in tabblad 2 moet het woordje OBS ook komen en de achtergrond blauw worden.

Als ik mijn code in ThisWorkbook zet, pakt die alleen nog maar het hoofdblad.
 
Heb nu dit:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    
    With Target
    
     Select Case .Value
       Case Is = "Crea/Indu"
           .Interior.ColorIndex = 6
'met de rest
         
        Case Else
           .Interior.ColorIndex = xlNone
     End Select

    End With
    

   End Sub
en deze foutmeldign:
foutmeldingvba.png
 
Betreft de foutmelding.
Welk stuk van je code kleurt er geel?
 
Waarom geen voorwaardelijke opmaak?

Als het met VBA moet dan zo misschien.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Application.EnableEvents = False
  For Each cl In Range(Target.Address)
    Select Case cl.Value
      Case "Crea/Indu"
        cl.Interior.ColorIndex = 6
      Case Else
        cl.Interior.ColorIndex = xlNone
     End Select
  Next cl
  Application.EnableEvents = True
End Sub
 
Super bedankt voor jullie hulp!
Tot zover werkt het. echter wanneer ik een koppeling maak naar een ander tabblad, gaan de achtergrondkleuren niet automatisch mee.
Als dit nog zo zou kunnne, is het perfect.
 
In dat geval zou ik voorwaardelijke opmaak adviseren, op zowel het ene als het andere tabblad. Geen VBA nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan