Avatar billede Lysral Nybegynder
21. september 2012 - 06:47 Der er 11 kommentarer og
1 løsning

Automatisk opdatering af regneark

Hej

Jeg har fået lavet en VBA som henter celleværdier fra andre lukkede regneark.

Kan det laves sådan at den opdatere automatisk når arket åbnes?
Avatar billede store-morten Ekspert
21. september 2012 - 07:29 #1
Prøv:
Kode på: Denne_projektmappe

Private Sub Workbook_Open()
Call Ark1.test
End Sub


Hvor Ark1.test erstattes med det ark og makro navn du vil kører.
Avatar billede Lysral Nybegynder
21. september 2012 - 10:59 #2
Det er en vba kode som laver en formel jeg kan bruge. Det er som sårn ikke en makro jeg givet noget navn.
Avatar billede store-morten Ekspert
21. september 2012 - 11:41 #3
VBA koden starter med linie:

Sub Navn()

Noget kode

End Sub

Og ligge denne på Ark1:

Kode på: Denne_projektmappe
Private Sub Workbook_Open()
Call Ark1.Navn
End Sub


Så vil din VBA kode køres når Arket åbnes.
Avatar billede Lysral Nybegynder
21. september 2012 - 11:46 #4
Se koden neden for, den ligger i modul 1 - 8.


Rem ===========================================================
Const stiTilKildeFil = "f:\produktion\driftskontrol\sauce\sauce 2012.xls"
Dim kildeFil As Object
Public Function hentUgeDatasauce(ugeNr As String, celleId As String)
On Error GoTo fejl
    Set kildeFil = CreateObject("Excel.Application")
   
    With kildeFil
        .Workbooks.Open stiTilKildeFil
   
        hentUgeDatasauce = .ActiveWorkbook.Sheets(ugeNr).Range(celleId)
    End With
   
fejl:
    kildeFil.Application.Quit
    Set kildeFil = Nothing
End Function
Avatar billede store-morten Ekspert
21. september 2012 - 16:43 #5
Det er en "Funktion"

Melder pas :-(
Avatar billede PBChristensen Juniormester
24. september 2012 - 11:54 #6
Hejsa,

Prøv lige følgende

I VBA vælger du det ark du skal have til at opdatere, og skriver:

Private Sub Worksheet_Activate()
ActiveSheet.Calculate
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Calculate
End Sub

...hvis det er når arket aktiveres eller ændres. Er det når hele excel-arket åbnes, så kan du skrive i modulet "ThisWorkbook":

Private Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
ActiveWorkbook.Calculate
End Sub
Avatar billede Lysral Nybegynder
03. oktober 2012 - 14:45 #7
Hej PB

Den melder en fejl ud for linjen:

Activeworkbook.Calculate

/Lars
Avatar billede PBChristensen Juniormester
10. oktober 2012 - 16:09 #8
Så prøv lige, om dette virker hos dig:

Private Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
ThisWorkbook.RefreshAll
End Sub
Avatar billede Lysral Nybegynder
22. oktober 2012 - 09:25 #9
Hej PB

Undskyld den lange ventetid - nu melder den ingen fejl, jeg kan først senere på uge se om det virker så skal jeg nok lige give lyd fra mig igen.

Men tak for det fremsendte.

/Lars
Avatar billede PBChristensen Juniormester
06. november 2012 - 14:13 #10
Virker det?
Avatar billede Lysral Nybegynder
19. november 2012 - 14:07 #11
Hej PB

Arbejdet tog lige overhånd :)
så har først lige fået set på det nu.

Det virker stadig ikke. Den melder dog ingen fejl.

Kan det skyldes at den skal opdatere fra en celle som er lavet som dropdown?

/Lars
Avatar billede PBChristensen Juniormester
20. november 2012 - 09:03 #12
Jeg kan ikke umiddelbart se, hvad det er der er galt...

Håber, at jeg har hjulpet dig lidt på vej :)
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