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

celkleur overnemen ui een andere cel

Status
Niet open voor verdere reacties.

spokkem

Gebruiker
Lid geworden
28 feb 2008
Berichten
108
ik wil in een kalender in de cel die actief is een letter in vullen bv z van ziek thuis.
dan moet hij in een overzicht dat boeven de kalender staat de letter vindev en de kleur van die letter overnemen in de actieve cel.

hetzelfede wat hij doet bij opmaak (voorwaardelijke opmaak)

alleen hier ma je maar drie van deze dingen ingeven met vergelijking, ik wil er meer kunnen doen.
ik probeerde deze maar deze mag je dus maar drie keer gebruiken
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=$U$8"
    Selection.FormatConditions(1).Interior.ColorIndex = Cells(8, 21).Interior.ColorIndex

End Sub
ik heb een stuke bijgevoegd

alvast bedankt
vr gr spokkem
 

Bijlagen

Laatst bewerkt door een moderator:
Via VBA kun je veel meer voorwaardelijke opmaken kiezen.
Wel de kleuren en status nog aanpassen/bijvullen:

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Status = ActiveCell.Text
Select Case Status
Case "V"
ActiveCell.Interior.ColorIndex = 1
Case "V\"
ActiveCell.Interior.ColorIndex = 2
Case "/V"
ActiveCell.Interior.ColorIndex = 3
Case "A"
ActiveCell.Interior.ColorIndex = 4
Case "A\"
ActiveCell.Interior.ColorIndex = 5
Case "/A"
ActiveCell.Interior.ColorIndex = 6
Case "F"
ActiveCell.Interior.ColorIndex = 7
Case "F\"
ActiveCell.Interior.ColorIndex = 8
Case "/F"
ActiveCell.Interior.ColorIndex = 9
Case "Z"
ActiveCell.Interior.ColorIndex = 10
Case "Z\"
ActiveCell.Interior.ColorIndex = 11
Case "/Z"
ActiveCell.Interior.ColorIndex = 12
Case "Tzt"
ActiveCell.Interior.ColorIndex = 13
Case "OA"
ActiveCell.Interior.ColorIndex = 14
Case "OA\"
ActiveCell.Interior.ColorIndex = 15
Case "DR"
ActiveCell.Interior.ColorIndex = 16
Case "DR\"
ActiveCell.Interior.ColorIndex = 17
Case "/DR"
ActiveCell.Interior.ColorIndex = 18
' Hier kun je dus verder gaan met de nodige statussen
Case Else
ActiveCell.Interior.ColorIndex = 0
End Select
End Sub

Succes, Cobbe
 
cobbe bedankt voor de oplossing
maar ik heb nog twee vragen
moet ik deze in het workbook zetten of in het tab blad
ik heb hem in het tab blad geplaats daar werkt hij wel maar pas als ik weer terug ga op de cel veranderd deze van kleur

doe ik iets verkeerd misschien

alvast bedankt

vr gr spokkem
 
Dit plaats je bij ThisWorkbook.

Maar euh... ik zou die code eerlijk gezegd eerst aanpassen en in deze vorm niet gebruiken.

Nu wordt die code uitgevoerd op ELK moment dat je van cel verandert, EENDER WAAR in het bestand. Je moet zelfs nog niets intypen en het wordt berekend.

Ik ga voor een Worksheet_Change event.

En ActiveCell is eigenlijk Target.

Wigi
 
wigi

bedankt voor de verandering het werkt perfect

maar ook cobbe bedankt voor de aanzet.

ik kan weer aan het werk

vr gr spokkem
:thumb::thumb::thumb::thumb:
 
mag ik nog een vraag stellen

kun je een case ook naar een cel laten kijken

je doet nu case "V" maar kan dit ook een cel zijn die hij leest

vr gr spokkem
 
Ik weet niet welke code je nu gebruikt.
Ik heb de code in een module gezet en beperkt tot de datumcellen H23:LA139
En zo dat de weekenddagen niet worden beinvloed.

Case "V" leest in feite een celwaarde en vergelijkt deze met "V", zo ja dan voert hij de handeling uit, anders niet.

Cobbe
 
Laatst bewerkt:
COBBE

als ik jou oplossing bij mij probeer dan verandert de letter pas als ik de cel verlaat en er weer terug in kom is dit bij jou ook zo.
andere vraag hij kijkt nu naar de letter "V" maar als ik de letter zou wijzigen in een andere letter dan ziet hij dit niet meer
kan het ook zo zijn dat hij leest wat er in de cel staat bv een verwijzing naar de cel ipv een vaste letter "V"

ik hoop dat ik het zo goed uitgelegd heb

alvast bedankt

vr gr spokkem
 
spokkem,

1°Om dat wijzigen bij het verlaten vd cel te doen heb ik bij de optie's van Excel, bij
Bewerken de optie -Selectie bij verlaten van cel -Uitgevinkt.
Als je nu de ingave afsluit via Enter dan wijzigt de kleur wel.

Case leest de celwaarde als eerste en vergelijkt dan de inhoud met de waarde die je zelf aangeeft. Komt deze overeen dan wordt de handeling uitgevoerd, anders niet.
Daarom heb je ook zoveel Case met een te testen waarde.
Ik ging ervan uit dat elke ingave een andere kleur heeft. Maar je kunt uiteraard ook per groep werken en de kleur overnemen van een andere cel.
BV. Activecell.Interior.ColorIndex = Cells(2, 12).Interior.ColorIndex

Ik hoop dat ik het een beetje begrijpbaar heb uitgelegd.

Cobbe
 
cobbe

bedankt voor de reactie

ik heb gedaan wat je zei over enter dit gaat goed.

alleen over het tweede item praten we misschien langs elkaar

het volgende
als ik in het voorbeeld (zie zip) in cel i2 zoals nu een V heb staan wordt deze gelezen door de case opdracht dit werkt goed.
maar ik zou graag willen zien dat wat voor een letter dan ook in cel i2 staat de kleur van die cel overgenomen wordt dit gaat dan met de opdracht zoals je omschrijft
dit omdat diegene die het bestand gebruikt vrij de letters mag wisselen.
dit gaat nu niet of ik moet weer uitrukken om de case letters aan te passen.

vr gr spokkem
 
Dat kan wel, en wel zo,

Wijzig 'Case "V" in Case [I2] enz... tot Case [I10]-Case [O2] enz.... tot Case [O10] etc....

Dan kan je de letters telkens laten aanpassen.

Ik hoop dat dit een beetje duidelijk is.

Cobbe
 
cobbe

bedankt voor de reactie

dit is het wat ik zoek

hartstikke bedankt voor de service

vr gr spokkem
:thumb::thumb::thumb:
 
cobbe

dit is het uiteindelijk geworden.
nog bedankt voor jou inbreng

vr gr spokkem
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Status1 = Left$(UCase(Target.Text), 3)
Status2 = Left$(UCase(Target.Text), 2)

Select Case Status1
Case [o7]
Target.Interior.ColorIndex = Cells(7, 15).Interior.ColorIndex
Case [o8]
Target.Interior.ColorIndex = Cells(8, 15).Interior.ColorIndex
Case [o9]
Target.Interior.ColorIndex = Cells(9, 15).Interior.ColorIndex
Case [o10]
Target.Interior.ColorIndex = Cells(10, 15).Interior.ColorIndex

Case [u2]
Target.Interior.ColorIndex = Cells(2, 21).Interior.ColorIndex
Case [u3]
Target.Interior.ColorIndex = Cells(3, 21).Interior.ColorIndex
Case [u4]
Target.Interior.ColorIndex = Cells(4, 21).Interior.ColorIndex
Case [u5]
Target.Interior.ColorIndex = Cells(5, 21).Interior.ColorIndex
Case [u6]
Target.Interior.ColorIndex = Cells(6, 21).Interior.ColorIndex
Case [u7]
Target.Interior.ColorIndex = Cells(7, 21).Interior.ColorIndex

Case Else

Select Case Status2
Case [i2]
Target.Interior.ColorIndex = Cells(2, 9).Interior.ColorIndex
Case [i3]
Target.Interior.ColorIndex = Cells(3, 9).Interior.ColorIndex
Case [i4]
Target.Interior.ColorIndex = Cells(4, 9).Interior.ColorIndex
Case [i5]
Target.Interior.ColorIndex = Cells(5, 9).Interior.ColorIndex
Case [i6]
Target.Interior.ColorIndex = Cells(6, 9).Interior.ColorIndex
Case [i7]
Target.Interior.ColorIndex = Cells(7, 9).Interior.ColorIndex
Case [i8]
Target.Interior.ColorIndex = Cells(8, 9).Interior.ColorIndex
Case [i9]
Target.Interior.ColorIndex = Cells(9, 9).Interior.ColorIndex
Case [i10]
Target.Interior.ColorIndex = Cells(10, 9).Interior.ColorIndex

Case Else
Target.Interior.ColorIndex = 0
End Select
End Select

End Sub
 
Laatst bewerkt:
Spokkem

Zet eens code tags rond je code aub.

En mails worden niet beantwoord. Ik spendeer al meer dan genoeg (vrije) tijd op het forum.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan