Avatar billede mkri Nybegynder
10. november 2007 - 08:19 Der er 7 kommentarer og
1 løsning

langsom sum på tabelopslag

hej

min sum af tabel opslag fungere fint men gør mit regneark total langsomt når den skal opdateres.
der summeres følerværdier i flere tidsintervaller

{=SUM(('konverter til ugedag og tid'!$A$2:$A$193>=A14)*('konverter til ugedag og tid'!$A$2:$A$193<=A15)*('konverter til ugedag og tid'!$B$2:$B$193))}

tidenintervallet er ( A14 og A15 og de er i næste celle A15 og A16 )

ved
10 celler tager det 3 sekunder at opdater arket
20 4 sek.
30 5 sek.
70 30 sek.
90 50 sek.
130 70 sek.
190 285 sek.
250 385 sek.

kan der gøres noget ved det, evt dele det op i flere ark og så sige at ark x skal beregnes først dernæst ark y osv... hvis det kan lade sig gøre...
Avatar billede jlemming Nybegynder
10. november 2007 - 09:13 #1
må det være en vba løsning, som skal aktiveres manuel?
Avatar billede mkri Nybegynder
10. november 2007 - 10:12 #2
nej den må ikke skulle køres manuelt

Mit ark opdateres automatisk allerede hvert 15 min hvor den kører en macro

Application.OnTime Now + TimeValue("00:15:00"), "MyMacro"

måske hvis du har en løsning at det kan flettes ind i den
Avatar billede mkri Nybegynder
10. november 2007 - 10:13 #3
koden til macroen er


Public dTime As Date

Sub MyMacro()

dTime = Now + TimeValue("00:15:00")

Application.OnTime dTime, "MyMacro"
Application.ScreenUpdating = False

  On Error Resume Next
 
Dim data As Variant, X As Long, R As Long, I As Integer
    data = Worksheets("15 min stop inden for 25 min").Range("A1").CurrentRegion
    X = 1
    With Worksheets("15 min interval")
        For I = 1 To 28
            .Cells(X, I) = data(X, I)
        Next
        X = X + 1
        For R = 2 To UBound(data)
            If Minute(data(R, 1)) = 0 Or Minute(data(R, 1)) = 15 Or Minute(data(R, 1)) = 30 Or Minute(data(R, 1)) = 45 Then
                For I = 1 To 28
                    .Cells(X, I) = data(R, I)
                Next
                X = X + 1
            End If
        Next
    End With
   
   
    Sheets("diagram").PrintOut Copies:=1, Collate:=True
   

Application.ScreenUpdating = True
Avatar billede kabbak Professor
10. november 2007 - 19:14 #4
her du prøvet om sumprodukt er lige så langsom

=SUMPRODUKT(('konverter til ugedag og tid'!$A$2:$A$193>=A14)*('konverter til ugedag og tid'!$A$2:$A$193<=A15)*('konverter til ugedag og tid'!$B$2:$B$193))
Avatar billede jlemming Nybegynder
10. november 2007 - 21:05 #5
Ellers kan du evt prøve sende den til mig på:
jacob,lemming(a)mail,dk
Avatar billede mkri Nybegynder
11. november 2007 - 19:23 #6
jeg kan først teste det på fredag når jeg er på arbejde igen...
Avatar billede mkri Nybegynder
17. november 2007 - 07:38 #7
Hej Jacob

jeg har selv løst problemet så det kører fornuftigt. jeg satte en if sætning ind da det kun er 3 intervaller der skal være synligt, dette gjorde at der var ca 70% færre beregninger den skulle igennem... nu kører det acceptabelt.

=IF(D31=1;SUM(('konverter til ugedag og tid'!$A$2:$A$193>=A31)*('konverter til ugedag og tid'!$A$2:$A$193<A32)*('konverter til ugedag og tid'!$C$2:$C$193));0)

eks:
d3 er lig 1 hvis tidspunkterne onsdag 18.00 og torsdag 06.00 begge er i opslaget

jeg har ikke testet sumprodukt men er da villig til at give dig nogle points for det....

men tak for hjælpen
Avatar billede mkri Nybegynder
29. november 2007 - 14:24 #8
nå nu lukker jeg dette spørgsmål
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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