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

Waarden aan cellen (Excel) toevoegen obv kleur

Status
Niet open voor verdere reacties.

ronald74

Gebruiker
Lid geworden
15 mei 2006
Berichten
48
Hallo,

Graag zou ik een macro willen hebben die op basis van de kleur van cellen (Excel sheet) een waarde in die betreffende cellen plaatst.
Bijvoorbeeld: graag zou ik in alle rode cellen een x willen hebben staan.

Kan iemand de VB hiervoor geven?
Dat zou erg fijn zijn! :D

Groeten,
Ronald
 
kun je niet met voorwaardelijk opmaak het omdraaien dat je zegt dat als er een "X" staat de cel rood wordt
 
Probeer deze code eens.
Werkt voor de range A1 t/m E8.

Sub XopRood()
'
' XopRood Macro
'
Dim cell As Range
Range("A1:E8").Select
For Each cell In Selection
If cell.Interior.ColorIndex = 3 Then
cell.Value = "X"
End If
Next
End Sub
 
Master J, dat was helaas niet de bedoeling... Ik krijg vanuit een bronsysteem bestanden met gekleurde cellen aangeleverd; vandaar...

Helemaal top Jan, het werkt! :D
Ik zou nog 1 nuance aan willen brengen, maar ben niet bekend met de kleurcoderingen..
Kun je m zo herschrijven dat ie in alle gekleurde cellen een x plaatst?

Ik zou dus denken:
If cell.Interior.ColorIndex <> standaardkleur(geen opvulling) Then....

Is dat mogelijk?

Groeten!
Ronald
 
ronald74 zei:
Kun je m zo herschrijven dat ie in alle gekleurde cellen een x plaatst?

Ik zou dus denken:
If cell.Interior.ColorIndex <> standaardkleur(geen opvulling) Then....

Is dat mogelijk?

Dan zou het zo worden:

If cell.Interior.ColorIndex <> xlNone Then
 
Voor een overzichtje van de kleurnummers een macrotje.

Sub kleurnummers()
Dim i As Integer
For i = 1 To 56
Cells(i, 1).Interior.ColorIndex = i
Cells(i, 2).Value = "Kleurnummer " & i
Next i
End Sub
 
Thnx! Werkt prima!!! :thumb:

Ik heb nog 1 probleempje, maar dat is meer van algemene aard:
Ik heb de code in Excel 'gehangen'. In de Excel sheet heb ik een command button gemaakt en deze eraan gekoppeld. Als ik de code uitvoer, werkt ie prima, echter als ik het bestand opsla en ik open heb daarna weer, dan kan ik de code niet meer uitvoeren.
De code staat ineens weer in de ontwerpmodus en als ik deze wil sluiten om de macro te kunnen draaien, krijg ik de melding dat de macro's uitgeschakeld zijn.

Weet je hoe ik dit kan oplossen?

Groeten, Ronald
 
kun je mischien je bestand even opsturen of op de site plaatsen dan kan ik er naar kijken
 
Wat betekent : Ik heb de code in Excel 'gehangen'.? Als je in de VBA editor de code in een module plaatst en daarna de code aan de knop toewijst moet alles goed werken, ook na afsluiten en weer opstarten. Staat de macrobeveiliging wel goed?
 
Ik heb de code onder het VBA project onder blad1 staan:

---
Private Sub CommandButton1_Click()

Cells.Select
Cells.EntireColumn.AutoFit
Cells.EntireRow.AutoFit
ActiveWindow.Zoom = 80
ActiveWindow.SmallScroll Down:=-15
Columns("F:F").Select
Selection.Insert Shift:=xlToRight
Rows("1:5").Select
Selection.Insert Shift:=xlDown
Rows("6:6").Select
Selection.AutoFilter

Dim cell As Range
Range("F:F").Select
For Each cell In Selection
If cell.Interior.ColorIndex <> xlNone Then
cell.Value = "X"
End If
Next

Selection.AutoFilter Field:=6, Criteria1:="X"
Range("A1").Select

End Sub
---
Ik heb nu ook een module ingevoegd en de code daar neergezet. Hoe kan ik deze koppelen aan de command button?

Groet, Ronald
 
Teken een knop met werkbalk formulieren Zodra je de knop getekend hebt zal er om een macro gevraagd worden, wijs de code toe uit het listje dat je te zien krijgt.
 
je moet de module een naam hebben gegeven en als je deze naam dan in de command zet van de button dan roept deze hem aan als je de knop in drukt
 
Dank jullie wel!!!!! :thumb:

Ik heb nog een vraagje over de statement.
Ik wil dat de code niet voor alle gekleurde cellen uitgevoerd wordt, maar over een 4-tal kleuren.
Het volgende heb ik geprobeerd, maar dat werkte niet:

If cell.Interior.ColorIndex = 6 Or cell.Interior.ColorIndex = 8 Or cell.Interior.ColorIndex = 27
Or cell.Interior.ColorIndex = 28 Then

Hoe werkt het Or statement in VBA?

Grtz, Ronald
 
je hebt or goed verwerkt alleen denk ik dat je cell een waarde moet geven en die heb je op dit moment nog niet gegeven
 
Het werkte inderdaad zoals ik dacht... had alleen een klein foutje gemaakt..

Het probleem met het opslaan van het bestand en later weer openen en draaien van de macro, waarbij wordt aangegeven dat de macro niet gerund kan worden (check hosttoepassing blabla...) heb ik op kunnen lossen door de beveiligingsinstelling van de macro's op gemiddeld in te stellen (stond op hoog).

Nu krijg je bij het opstarten van een Excel bestand met macro('s) eerst de vraag of je de macro's in wilt schakelen..

Alles werkt nu perfect. Nogmaals bedankt aan iedereen voor de hulp!!! :thumb:

keep up the good work!!! :D

Groeten, Ronald
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan