Avatar billede alj Praktikant
11. april 2003 - 10:26 Der er 11 kommentarer og
2 løsninger

Kædeformler til værdier

Hej,
er der mon nogen der kan hjælpe med at konvertere fra kædeformler i 50 ark til værdier, gerne via en makro, da det jo ellers er lidt besværligt at tage ark efter ark.
mvh
alj
Avatar billede janvogt Praktikant
11. april 2003 - 10:50 #1
Du bare markere alle ark ved at holde shift-tasten nede, derefter skal du kun udføre det på ét ark, så udføres det på samtlige markerede ark.
Avatar billede jkrons Professor
11. april 2003 - 10:52 #2
Kan du fortælle lidt mere?  Er der andet end kædeformler - altså almindelige formler, som ikke skal konverteres til værdier?

Er alle 50 ark i samme projektmappe?

I hvilke områder i de enkelte ark står cellerne.'

Denne kode kører samtlige celler (16 millioner) i samtlige ark igennem og udskifter formler til værdier. Men det er selvfølgelig uholdbart på grund af tiden det tager. Du er derfor nødt til at være lidt mere specifik omkring behovet.

Sub FormulaToValue()
    For Each s In ActiveWorkbook.Sheets
        For Each c In s.Cells
            If c.HasFormula = True Then
                c.Value = c.Value
            End If
        Next c
    Next s
End Sub
Avatar billede janvogt Praktikant
11. april 2003 - 10:53 #3
Hvis du vil ha' en makro til formålet er der én her:
http://www.eksperten.dk/spm/335647
Avatar billede bak Forsker
11. april 2003 - 10:57 #4
Hvis det hele bare skal være værdier :

Sub test()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.UsedRange.Value = ws.UsedRange.Value
Next
End Sub
Avatar billede jkrons Professor
11. april 2003 - 11:00 #5
bak->  Dit forslag er ligesom janvogts (flemmings) forslag bedre end mit fordi det kun medtager usedrange. men kan stadig være ret tidskrævende hvis usedrange er stort.
Avatar billede bak Forsker
11. april 2003 - 11:06 #6
Der er rigtigt, JKrons.
Jeg har lige testet bare bare to ark begge fyldt til IV65536, så tager det sin tid, men det vil jo heller ikke være normalt.
Avatar billede jkrons Professor
11. april 2003 - 11:07 #7
Enig!
Avatar billede bak Forsker
11. april 2003 - 11:17 #8
I de ekstreme tilfælde vil denne her være meget hurtigere
Sub test()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Cells.Copy
    ws.Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode=False
Next
End Sub
Avatar billede jkrons Professor
11. april 2003 - 11:24 #9
Og her har du så en, der er bedst ved begrænsede områder i hvert ark (ens områder). Til gengæld skulle den så vidt jeg lige kan se kun erstatte formler, der indeholder referencer til andre projektmapper, mens formler der ikke gør det lades stå uændrede:

Sub FormulaToValue()
    For Each s In ActiveWorkbook.Sheets
        For Each c In s.Range("a1:a3").Cells
            a = c.Formula
                If c.HasFormula = True Then
                    If Mid(a, 2, 1) = "'" Then
                        c.Value = c.Value
                    End If
                End If
        Next c
    Next s
End Sub
Avatar billede bak Forsker
11. april 2003 - 12:35 #10
Lidt respons ville være fint :-)

Måske har vi bare misforstået spørgsmålet.
Denne makro erstatter alle formler med links/kæder til eksterne regneark/projektmapper med værdierne.


Sub ErstatKæder()
Dim c As Range
Dim Firstaddress As String
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws.UsedRange
    Set c = .Find("xls", LookIn:=xlFormulas)
    If Not c Is Nothing Then
        Firstaddress = c.Address
        Do
            c.Value = c.Value
            Set c = .FindNext(c)
        Loop While Not c Is Nothing ' And c.Address <> Firstaddress
    End If
End With
Next
End Sub
Avatar billede jkrons Professor
11. april 2003 - 12:37 #11
bak-> Nydeligt!!!  Så mangler vi som du også siger bare spørgerens feed-back.
Avatar billede alj Praktikant
11. april 2003 - 12:48 #12
Hej - og undskyld "ventetiden", men måtte lige gå i møde.
Mange tak, begge, da jeg kan bruge begge løsninger fordeles pointene ligeligt.
mvh
alj
Avatar billede jkrons Professor
11. april 2003 - 12:50 #13
Tak for point, men hvad med bak, som har bidraget rigeligt til debatten og løsningen ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester