Avatar billede cablebyte Nybegynder
26. juni 2003 - 10:23 Der er 9 kommentarer

Replikering af farver mellem 2 celler i Excel.

Hej

Hvorledes replikerer man farver mellem 2 celler i Excel?

Skal man anvende et script eller findes funktionen indbygget som en option?

Haster!
Avatar billede aovergaard Nybegynder
26. juni 2003 - 11:07 #1
Ved ikke om det er dette du søger, ellers forstå jeg ikke spørgsmålet.

Kopier den celle hvori du har en farve og måske også noget andet.
Gå til den celle du ønsker denne farve.
Højreklik og vælg indsæt specielt
Vælg formater.
Avatar billede cablebyte Nybegynder
26. juni 2003 - 12:17 #2
Det jeg mener er, hvis man sætter A2 = A1 og A1 er rød, så ønsker jeg også at A2 bliver rød (automatisk). Altså en replikering.
Avatar billede clemen Nybegynder
26. juni 2003 - 14:56 #3
En funktion kan kun returnerer en værdi, og ikke et celle-format. Det skal løses ved hjælp af makro
Avatar billede clemen Nybegynder
26. juni 2003 - 14:59 #4
Avatar billede clemen Nybegynder
26. juni 2003 - 14:59 #5
ups behandlet
Avatar billede bak Seniormester
26. juni 2003 - 18:04 #6
Put dette i et alm. modul

Function Repl(ByRef cell As Range)
Repl = cell.Value
End Function


Sub ChangeColor(sht As Object)

Dim x As Range
Dim c As Range
Dim adr As String

Set x = sht.UsedRange.SpecialCells(xlCellTypeFormulas, 1)
For Each c In x
    If c.Formula Like "=repl(*" Then
    adr = Mid(c.Formula, 7, Len(c.Formula) - 7)
    c.Interior.ColorIndex = Range(adr).Interior.ColorIndex
    End If
Next
  For Each c In x
    If c.Formula Like "=repl(*" Then
    adr = Mid(c.Formula, 7, Len(c.Formula) - 7)
    c.Interior.ColorIndex = Range(adr).Interior.ColorIndex
    End If
Next
End Sub


** og dette her i ThisWorkBook-modulet

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
ChangeColor Sh
End Sub

I stedet for at referere direkte til A1  (=A1) så brug formlen
=repl(A1)

Når arket genberegnes, vil farven på cellen med formlen repl blive den samme som i A1

Dette er ikke en 100% løsning, men du kan da komme videre.
Avatar billede bak Seniormester
26. juni 2003 - 18:07 #7
PS. Hvis du ser nøjere efter kan du se at cellerne gennemløbes to gange i ChangeColor. Årsagen til dette er den rækkefølge excel beregner cellerne i, ellers vil give et forkert resultat.
Avatar billede bak Seniormester
26. juni 2003 - 20:07 #8
Hvis du har mange formler så udskift ChangeColor med denne. Den skulle gerne være noget hurtigere.

Sub ChangeColor(sht As Object)
Dim rUsed As Range
Dim rCell As Range
Dim rRepl As Range
Dim lCounter As Long
Dim sAdr As String
lCounter = 0
Set rUsed = sht.UsedRange.SpecialCells(xlCellTypeFormulas, 23)
For Each rCell In rUsed
  If rCell.Formula Like "=repl(*" Then
      sAdr = Mid(rCell.Formula, 7, Len(rCell.Formula) - 7)
      rCell.Interior.ColorIndex = Range(sAdr).Interior.ColorIndex
      lCounter = lCounter + 1
      If lCounter >= 2 Then Set rRepl = Union(rRepl, rCell) Else Set rRepl = rCell
  End If
Next
For Each rCell In rRepl
    sAdr = Mid(rCell.Formula, 7, Len(rCell.Formula) - 7)
    rCell.Interior.ColorIndex = Range(sAdr).Interior.ColorIndex
Next
End Sub
Avatar billede aovergaard Nybegynder
11. juli 2003 - 14:27 #9
Du må få bak til at oprette et svar så du kan få lukket dette spørgsmål.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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