hmm når jeg går ind i Data > Validation og under validation criteria vælger custom... så kommer den der formel-linie frem, men jeg synes ikke rigtig jeg kan få den til at validere noget lige meget hvad jeg referer til.
Nej dur ikke, da det kræver at alle felterne er intastet inden datavalideringen. Kan kun få den til at virke med =SUM(A1:A4)<=100, mn den sikre jo kun at den samlede værdi aldrig kommer over 100 og det var jo ikke det du søgte.
Det kan tilnærmelsesvis lade sig gøre med en makro, men der er nogle problemer jeg ikke helt ved hvordan man undgår. De nye værdier er med decimaler og hvis man anvender Round kan man ikke være sikker på at ramme 100 men måske 99 eller 101.
Derudover kan jeg ikke se den kan anvendes med mindre den køres manuelt. Ws_Change og Calculate laver endeløse loops.
Men hvis nogen gider brygge videre på det, så er hér et forslag:
Dim sm As Integer sm = Application.Sum(Range("A1:A4")) If sm <> 100 Then For Each c In Range("A1:A4") c.Value = c.Value / sm * 100 'c.Value = Round(c.Value / sm * 100, 0) Next c End If
Ok, men denne ser ud til at virke hvis der som standard er 0 i værdi i felterne. Indtastningsfelter B1:B4. =ELLER(SUM($B$1:$B$4)<=100;OG($B$1<>0;$B$2<>0;$B$3<>0;$B$4<>0;SUM($B$1:$B$4)=100)). Selvom du har fundet en anden løsning, kunne jeg ikke lade være med at bringe den :-)
Og denne virker på tomme værdier ved indtastning i C1:C4. =ELLER(SUM($C$1:$C$4)<=100;OG($C$1:$C$4<>"";SUM($C$1:$C$4)=100))
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.