#2 - Nu har jeg kun selv, version 2013. Men umiddelbart lyder det mærkeligt, at du ikke skulle kunne bruge BVA løsningen i nye versioner af Excel. Jeg går ud fra, at din funktion med at tælle farver, ligger som et Modul i VBA delen.
#2 - Jeg har lige tjekket hos Microsoft, og der er ingen problemer med at bruge funktionen i hverken version 365, eller 2019. Så der må være noget andet, du gør galt.
Ja, jeg har netop også bygget arket op i en 2013 version, men jeg kan ikke få det til at virke i ny version af Excel, og ved ikke hvad jeg skal gøre for A, enten få det til at virke eller B, finde en alternativ løsning
Ok, det lyder interessant. Måske kan vi finde ud af det? Men så skal jeg ha' en hånd at holde i, for jeg kan ikke huske hvordan jeg fik det til at virke i første omgang;-) Jo altså, jeg kopierede funktionen ColorCount ind et sted. Men hvor?
Tag en kopi af koden (macroen ColorCount) Åbn et Excel ark Tryk på Alt+F11 for at gå til VBA Editor Tryk på Insert og herefter på Module Indsæt din kopierede kode i vinduet til højre Tryk på Alt+F11 for at gå tilbage til Excel Gem som xslm fil.
Jvf #11 - vil kun virke i den projektmappe der indeholder makroen. Hvis du ønsker funktion (ColorCount) skal kunne anvendes i alle projektmapper er du nødt til enten at gemme koden som det der hedder Personal Macro workbook eller som en Add-in.
Status: Jeg har fået det til at fungere - delvist...
Jeg fulgte instruksen #11, lagde nedenstående kode ind og gemte som .xlsm (tak)
Og det virker! Men kun én gang. Jeg kan altså ikke foretage en ændring og få et nyt resultat når jeg taster F9!
Function CountColor(Cel, ran As range) As Double colo = Cel.Interior.ColorIndex cou = 0 For Each c In ran.Cells If c.Interior.ColorIndex = colo Then cou = cou + 1 End If Next c CountColor = cou End Function
#13 - Det kan du ikke, fordi det er en Function. Så hver gang du ændrer i en celle farve, så ændrer det ikke på din summering. Der er du nødt til at have en Change event, til at lave opdateringen (genberegning).
En mulighed er, at du lægger denne lille kode ind i selve Arkets kodevindue (ikke i Modulet).
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.CalculateFull End Sub
En anden mulighed er at bruge denne kode fra Microsoft. Bemærk at funktionen hedder CountCcolor
Function CountCcolor(range_data As Range, criteria As Range) As Long Dim datax As Range Dim xcolor As Long xcolor = criteria.Interior.ColorIndex For Each datax In range_data If datax.Interior.ColorIndex = xcolor Then CountCcolor = CountCcolor + 1 End If Next datax End Function
#15 - Som jeg skrev i #14. Højreklik på dit Ark's faneblad, og vælg "Se programkode" som åbner kodevinduet. Inde i det vindue, Dbl. klikker du på dit Ark (vist i venstre side), og så indsætter du koden i det nu åbne vindue.
PS: Hvordan har du overhovedet haft en fungerende kode kørende, jævnfør dit åbnings spørgsmål ?
Det virker uden problemer ved mig, men hovedsagen er selvfølgelig, at du fandt en vej.
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.