16. maj 2012 - 12:35Der er
17 kommentarer og 1 løsning
Få excel til at vise værdier istedet for reference
Hej Eksperter.
Jeg vil gerne have sådan at når jeg har lavet en udregning at jeg i cellen ved siden af fx kunne vise hvad den har udregnet istedet for kun at kunne få referencen. Dvs istedet for at kunne hente a2+a3+a4 ned fra formeloversigten så kunne få der her frem: 7+3+4 Da jeg skal bruge det til eksamen, hvor jeg helst skal kunne vise, hvad jeg gør så censor kan finde fejlen hvis det opstår.
Lækker så har fundet ud af at at hver ting skal være adskilt af "&
Det er dog en halv langsommelig process hvis jeg skal gøre dette ved et stort regneark, men er det gjort virker det jo til eksamen så er det bare forarbejdet der skal gøres.
Eller kan det øgres på en hurtig må? evt en kommando der går ind og konventer til det rigtige.
Her er noget kode som jeg har "tyvstjålet" et eller andet sted fra. Jeg ved ikke hvem ophavsmanden er - i hvert fald ikke mig. Placer koden i et almindeligt modul og hvis du har din formel i A1 så indtast i for eksempel B1:
=FnK(A1)
Her følger koden:
Function FnK(rngF As Range) As String Dim vRefs As Variant, lngRef As Long FnK = "'" & rngF.Formula vRefs = Split(PatternExtract(FnK, "[A-Z]{1,2}[0-9]+", , -1)) For lngRef = LBound(vRefs) To UBound(vRefs) Step 1 FnK = Replace(FnK, vRefs(lngRef), Round(Evaluate(vRefs(lngRef)), 3), 1, -1, vbTextCompare) Next lngRef End Function
'RegExp Function Function PatternExtract(strF As String, strPattern As String, _ Optional boolIgnoreCase As Boolean = True, Optional lngInstance As Long = 1) As Variant Dim RegExp As Object, RegExpMatch As Object On Error Resume Next Set RegExp = CreateObject("vbscript.regexp") With RegExp .Global = True .IgnoreCase = boolIgnoreCase .Pattern = strPattern End With Set RegExpMatch = RegExp.Execute(strF) If lngInstance > RegExpMatch.Count Then PatternExtract = "" Else If lngInstance = -1 Then For lngInstance = 1 To RegExpMatch.Count Step 1 PatternExtract = PatternExtract & " " & RegExpMatch(lngInstance - 1) Next lngInstance PatternExtract = Replace(PatternExtract, " ", "", 1, 1) Else PatternExtract = RegExpMatch(lngInstance - 1) End If End If Set RegExpMatch = Nothing Set RegExp = Nothing End Function
Så skal dkhanknu lige sende et "Svar", så spørgsmålet kan lukkes. :-)
Synes godt om
Slettet bruger
17. maj 2012 - 14:50#18
OK. Hans
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.