Avatar billede boro23 Forsker
04. september 2017 - 12:51 Der er 4 kommentarer og
2 løsninger

Hjælp til en makro

Hej Eksperter, har brug for Jeres hjælp
Jeg bruger nedenstående kode til at undersøge hvilke celler der er formler i, er det muligt at lave en kode, der fjerner farverne igen, altså aktiver makro første gang "farver i celler", aktiver anden gang "fjerne farve i celler"

Sub FarvCellFormler()
    For Each c In ActiveSheet.UsedRange.Cells
        If c.HasFormula Then
            c.Interior.ColorIndex = 35
        End If
    Next c
End Sub
Avatar billede finb Ekspert
04. september 2017 - 13:04 #1
Hvis du hele tiden ganger med -1,
kan du bruge denne:

onOff = 1
onOffMultiplier = -1
if onOff * onOffMultiplier > 0 then
            c.Interior.ColorIndex = 35
else
        c.Interior.ColorIndex = ønsket farve-tal
endif
Avatar billede Jan Hansen Ekspert
04. september 2017 - 13:04 #2
Mon ikke noget i retning af

Sub FarvCellFormler()
    For Each c In ActiveSheet.UsedRange.Cells
        If c.HasFormula Then
          With c.Interior
                if .Colorindex=35 then
                      .coloeindex=xlnone
                else
                      .ColorIndex = 35
              end if
          end With
        End If
    Next c
End Sub
Avatar billede boro23 Forsker
04. september 2017 - 13:58 #3
Hej igen
finb: forstår ikke helt hvad du mener ;-)

Jan Hansen: Jeg får en fejl melding på din kode. Første aktivering virker fint, når jeg kører anden aktivering får jeg fejlen: " Run-time error '438': Object doesn't support this property or method"
Avatar billede Jan Hansen Ekspert
04. september 2017 - 15:09 #4
Prøv denne:



Sub FarvCellFormler()
    iColor = vbBlue ' Sæt farven vb-Farve eller tal eks. 65535
    For Each c In ActiveSheet.UsedRange.Cells
        If c.HasFormula Then
            With c.Interior
                If .Color = iColor Then
                    .Pattern = xlNone
                    .TintAndShade = 0
                    .PatternTintAndShade = 0
                Else
                    .PatternColorIndex = xlAutomatic
                    .Color = iColor
                End If
            End With
        End If
    Next c
End Sub



den anden var ikke testet

Jan
Avatar billede store-morten Ekspert
04. september 2017 - 15:52 #5
Ellers prøv denne rettede kode fra #2 (Stavefejl: .coloeindex=xlnone)
Sub FarvCellFormler()
    For Each c In ActiveSheet.UsedRange.Cells
        If c.HasFormula Then
          With c.Interior
                If .ColorIndex = 35 Then
                      .ColorIndex = xlNone
                Else
                      .ColorIndex = 35
              End If
          End With
        End If
    Next c
End Sub
Avatar billede boro23 Forsker
05. september 2017 - 07:36 #6
Hej Jan og morten, 1000 tak for hjælpen, begge koder virker efter hensigten
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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