Avatar billede KarinaRojahn Nybegynder
20. oktober 2011 - 12:16 Der er 5 kommentarer og
1 løsning

Automatisk Fill Color i celler baseret på Fill Color i andre celler

Jeg er ikke særlig stærk i VBA, så derfor må jeg spørge nogle af jer eksperter.

Jeg har brug for en macro eller en funktion der kan søge efter en fill color i en del af en kollonne i Excel. Hvis den  specifikke fill color findes skal en bestemt celle også have denne fill Color.

Jeg håber at det er nok forklaring og at der er nogen der kan hjælpe :-)
Avatar billede supertekst Ekspert
20. oktober 2011 - 12:25 #1
Hvilken kolonne?
Hvilke farve?
Celle, der også skal have farven?
Under hvilke omstændigheder skal VBA-koden udføres?
Avatar billede KarinaRojahn Nybegynder
20. oktober 2011 - 12:58 #2
Jeg tænkte nok at der måtte mere forklaring til :-)

Det er en arbejdsplan for et stort projekt hvor hver række er en arbejdsopgave.
Den periode hvor en person arbejder på en arbejdsopgave markeres med en farve der er unik for hver person.

I bunden af regnearket står personernes navne og disse celler er er markeret med personernes farve. Det er i rækken ud for disse celler at jeg gerne ville have markeret hvornår personerne arbejder på projektet samlet. Så der skal søges i cellerne i en  del af en kollone og hvis den givne farve findes, skal cellen ud for personen fyldes med den farve.
Gi´r det mening? :-)
Avatar billede supertekst Ekspert
20. oktober 2011 - 13:34 #3
Jo tak det hjalp lidt - men endnu bedre, hvis du kunne sende eller oploade en kopi eller model - så var det lidt mere håndgribeligt.

@-adresse under min profil.
Avatar billede supertekst Ekspert
20. oktober 2011 - 15:46 #4
Const startMræk = 58
Const slutMræk = 76
Const stepMræk = 3
Const kolM = "A"

Const startKalRæk = 9
Const slutKalræk = 56
Const startKalKol = "E"
Const slutKalKol = "JD"

Const hvidFarve = 2
Public Sub farveOpdatering()
Dim ræk As Long, farve
    Application.ScreenUpdating = False
   
    For ræk = startMræk To slutMræk Step stepMræk
Rem clear pt farve for medarbejder
        clearMfarve ræk
       
Rem find medarbejderens farve og indsæt
        farve = Range(kolM & ræk).Interior.ColorIndex
        søgMedarbejderFarve farve, ræk + 1
    Next ræk
   
    Application.ScreenUpdating = True
   
    Range("E9").Select
   
    MsgBox "Farver opdateret"
End Sub
Private Sub clearMfarve(ræk)
    ActiveSheet.Range(startKalKol & ræk + 1 & ":" & slutKalKol & ræk + 1).Select
    Selection.Interior.ColorIndex = hvid
    clearBaggrund
End Sub
Private Sub clearBaggrund()
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
Private Sub søgMedarbejderFarve(farve, ræk)
Dim cc
    For Each cc In Range(startKalKol & startKalRæk & ":" & slutKalKol & slutKalræk).Cells
        If cc.Interior.ColorIndex = farve Then
            Cells(ræk, cc.Column).Interior.ColorIndex = farve
        End If
    Next cc
End Sub
Avatar billede KarinaRojahn Nybegynder
20. oktober 2011 - 15:48 #5
Mange mange tak for hjælpen :-)
Avatar billede supertekst Ekspert
20. oktober 2011 - 15:52 #6
Selv tak - en fornøjelse..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester