13. marts 2014 - 12:42Der er
9 kommentarer og 1 løsning
Finde lopslag ved hjælp af markro
Hej Eksperter
Jeg har et stort regneark med mange lopslag der henter værdier i flere andre steder.. Det gør at den er lang tid om at beregne og derfor ikke særlig brugervenlig. Jeg laver derfor en udgave uden lopslag som brugerne kigger i. Lige nu sidder jeg og laver en kopier og indsæt værdier på alle lopslag i regnearket.
Kan den opgave ikke løses med en makro. Altså kan den ikke finde de celler der er et lopslg i og lave en kopier, indsæt værdier??
Den fylder 23MB, indeholder 4943 rækker og 143 kolonner hvoraf de 87 kolonner indeholder lopslag. Dvs. 430.041 celler med lopslag. Desuden indeholder den oplysninger jeg ikke må offentliggøre.
Har brugerne behov for at have adgang til den totale mængde på en gang? Alternativet kunne være en selektiv søgning. Nu ved jeg jo ikke hvilke form for data der er tale om.
De 87 kolonner du nævner, kan de defineres som et samlet område?
Koden til at hive værdien ud af en formel er ret enkel:
If Cells(ræk, kol).HasFormula = True Then værdi = Cells(ræk, kol) Cells(ræk, kol) = værdi
Det tager egentlig ikke lang tid at åbne den, det er den tid den bruger på at beregne der er lang. det er derfor jeg fjerner lopslag inden jeg ligger den på fælles drevet. De har brug for at kunne se det hele på engang men der er filtre på kolonnerne. De 87 kolonner er ikke et samlet område, de er spredte.
Den kode du viser henter den ikke værdien uanset hvilken formel der er i cellen? Der er nogle beregninger i en del af cellerne der skal blive så den kan bruges til simulering af prisforslag.
Sub findLopslag() Const fraRæk = "9" Const tilRæk = "4934" Const områdeK = "B,H" '<<------ justeres Dim tabel As Variant, cc, x As Integer tabel = Split(områdeK, ",")
For x = 0 To UBound(tabel) For Each cc In ActiveSheet.Range(tabel(x) & fraRæk & ":" & tabel(x) & tilRæk).Cells If cc.HasFormula = True Then If InStr(cc.Formula, "=VLOOKUP") > 0 Then værdi = cc.Value cc.Value = værdi End If End If Next cc Next x
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.