22. marts 2017 - 11:12Der er
21 kommentarer og 1 løsning
Excel VBA giver #NAVN retur i aktuelle celler
Hej Eksperter. Jeg har følgende kode indsat i VBA:
Range("bp22").FormulaR1C1 = "=IF(SUM(RC[-7]:RC[-1])=0,"""",ColoredCells(RC[-7]:RC[-1],L_Tal_1)&"" + ""&+ColoredCells(RC[-7]:RC[-1],L_Tillæg1))" Range("bp22").AutoFill Destination:=Range("bp22:bp24"), Type:=xlFillDefault Application.Calculation = xlCalculationAutomatic Range("bp22:bp24").Value = Range("bp22:bp24").Value Range("a1").Activate End Sub
Retunere #NAVN i celler bp22 til bp24. (L_Tal_1 er start celle der indeholder tal (L_Tal_1 til L_Tal_7 er dem jeg har tal i ) L_Tillæg1 er alene bp22 (til bp24) er resultat cellen, bh22 til bn24 indeholder de tal jeg checker)
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Ja det er jo sjovt at når man efter dagevis ikke kan se "skoven for bare træer" så skal man bare skrive et opslag her og så kan man se fejlen :D Løste det med at flytte [-7] og [-1] til de rigtige så virkede farverne....
Nu er det "bare" det tal den skal vise i bp22:bp24 der mangler i stedet for #NAVN
Function ColoredCells(rRange As Range, rColor As Range) As Double Dim rCell As Range Dim lCount As Long, lRefColor As Long Application.Volatile lCount = 0 lRefColor = rColor.Interior.ColorIndex For Each rCell In rRange If rCell.Interior.ColorIndex = lRefColor Then lCount = lCount + 1 Next rCell ColoredCells = lCount End Function
Jeg har fået cellerne BH22:BN24 til at skifte farve udfra om de er identisk med tal i cellerne "L_Tal_1" til "L_Tal_7" og "L_Tillæg1" (BH2 til BN2 og BP2)
I celle BP 22 til BP24 ville jeg gerne have "udregningen/visningen" feks. 6 + 1 Hvis L_Tal_1-L_Tal_7 rammer 6 og L_Tillæg1 rammer 1
Jeg har lavet en knap/macro der checker og farver cellerne BH22:BN24 ved at hente koden (Private Sub Find_resultat() hvor koden i første indslag er en del af) det virker fint, men count delen der skal vises i BP22:BP24 viser #NAVN i stedet for feks 6 + 1.
Håber det hjælper på forståelsen, jeg er novice inden for området men lærer hurtigt ;)
Det der undre mig er at cellerne (BH22:BN22) bliver farvet (i 2 forskellige) Så Celle navnet L_Tal_x burde ikke være problemet og der hvor "summen" (Feks 6 + 1) skal vises (BP22:BP24) har jeg ikke ændret celle navn. Tænker det er en funktion men er lidt lost her :(
Function ColoredCells(rRange As Range, rColor As Range) As Double Dim rCell As Range Dim lCount As Long, lRefColor As Long Application.Volatile lCount = 0 lRefColor = rColor.Interior.ColorIndex For Each rCell In rRange If rCell.Interior.ColorIndex = lRefColor Then lCount = lCount + 1 Next rCell ColoredCells = lCount End Function
Hvis jeg skriver i BP22 denne: =HVIS(SUM(BH22:BN22)=0;"";VBAProject.Koden3.ColoredCells(BH22:BN22;BH2)&" + "&+VBAProject.Koden3.ColoredCells(BH22:BN22;BP2)) ---------------------------------------------------------------------- koden 3 er det modul jeg bruger ___________________________________________ så virker det perfekt, 0 + 0 ved ingen farver og 1 + 0 ved 1 farve.
Kan selvfølgelig fjerne koden i vba så virker det men ville helst have koden derinde :)
Det var første del i ark1 som jeg ville have til at virke og derefter lave de andre når jeg havde fået den til at virke. det er nemmere at arbejde med 1 del af gangen spec. når de er ens ;)
Jeg tror Kabbak mener at Formlen ser "Function ColoredCells......" i et andet åbent regneark.
Kan du sende arket på E-mail ?
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.