25. januar 2019 - 12:29Der er
2 kommentarer og 4 løsninger
Hjælp til ændring af VBA kode
Hej Eksperter, har brug for noget hjælp til ændring af nedenstående kode. I stedet for at farve celler i hele arket med formler, har jeg kun brug for at farve celler med formler i kolonne G og kolonne P, er der en venlig sjæl der kan hjælpe?
Sub FarvCellFormler() For Each c In ActiveSheet.UsedRange.Cells If c.HasFormula Then With c.Interior If .ColorIndex = 22 Then .ColorIndex = xlNone Else .ColorIndex = 22 End If End With End If Next c End Sub
Du kan gøre det med denne ændring, men det vil nok være en god ide at begrænse området til kun at være en del af kolonne G og P, hvis du skal bruge den ofte, da den ellers er lidt langsom.
Sub FarvCellFormler() Dim C As Range Range("G:G,P:P").Select For Each C In Selection If C.HasFormula Then With C.Interior If .ColorIndex = 22 Then .ColorIndex = xlNone Else .ColorIndex = 22 End If End With End If Next C End Sub
Der er da vist en fejl I den oprindelige makro. Jeg hat også ændret området, så den er hurtigere (kun ned til linie 1000)
Sub FarvCellFormler() Dim C As Range Range("G1:G1000,P1:P1000").Select For Each C In Selection If C.HasFormula Then With C.Interior .ColorIndex = 22 End With Else With C.Interior .ColorIndex = xlNone End With End If Next C End Sub
Sub FarvCellFormler() Application.ScreenUpdating = False Dim Area As Range Set Area = Range("G1:G1000,P1:P1000") Dim C As Range For Each C In Area With C If .HasFormula Then With .Interior .ColorIndex = 22 End With Else With .Interior .ColorIndex = xlNone End With End If End With Next Application.ScreenUpdating = True End Sub [div]
Jens har naturligvis ret i, at man kan afgrænse kolonne området - det var bare ikke det, som spørgeren spurgte efter :-)
Men, godt der blev fundet en løsning :-)
Synes godt om
Ny brugerNybegynder
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.