• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Automatische update

  • Onderwerp starter Onderwerp starter elda
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

elda

Gebruiker
Lid geworden
9 feb 2005
Berichten
195
in lokaal A brengt men bepaalde gegevens in in een welbepaald werkblad A (dit werkblad word via autosave om de minuut opgeslagen)--> XL 2003.
in lokaal B brengt men in een ander werkblad B andere gegevens in (dit werkblad word via autosave om de minuut opgeslagen)--> XL 2000.
In lokaal C wordt het werkblad C automatisch geupdated op basis van de gegevens van de werkbladen A en B (dit gebeurt goed)
nu zou ik in lokaal C werkblad C, op een automatische wijze het resultaat moeten kunnen zien van de automatische input (die om de x minuten gebeurt). Met andere woorden zonder het XL blad telkens terug te sluiten en te openen.

Is dit mogelijk in excel en indien ja, welke formule of macro moet ik hiervoor opmaken

mvg


Jaak
 
Beste Elda,

Wanneer het bronbestand (A en B) opgeslagen zijn, kun je volstaan met:
Bewerken > Koppelingen > Waarden bijwerken.
Dit kun je per koppeling doen.

Via VBA zul je een event moeten maken bij het opslaan van het bestand:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  ActiveWorkbook.UpdateLink Name:= _
        "C:\Documents and Settings\Eigenaar\Mijn documenten\bronbestand1.xls", Type:= _
        xlExcelLinks
End Sub

Als je het bestand opslaat, wordt het bijgewerkt met de laatst opgeslagen waarden uit bestand A en B. Jij zult dus twee regels moeten opnemen in de macro.

Het automatisch iedere minuut opslaan kan ook in VBA, maar ik weet even niet hoe. Anderen hier zijn daar beter in dan ik.

Richard
 
Macro klopt, maar men moet nog steeds het programma verlaten om de update te hebben.
Bedoeling is duidelijk dat in lokaal C het werkblad C automatisch geuptaded wordt zonder het programma te verlaten.

mvg

Jaak
 
Bedoel je het als volgt?

Code voor ThisWorkbook:
Code:
Private Sub Workbook_Open()
Vernieuwen
End Sub

Code voor module:
Code:
Sub Vernieuwen()
'Range("A1").Value = ExecuteExcel4Macro("'C:\[Testbestand]Blad1'!R6C1")
Application.OnTime Now() + TimeValue("0:05:00"), "Vernieuwen"
End Sub

Start de macro Vernieuwen (de macro wordt ook gestart als het bestand wordt geopend).
Bovenstaande code haalt dan elke 5 minuten de waarde van cel A6 van Blad1 uit het bestand Testbestand zonder Testbestand te openen.

Met vriendelijke groet,


Roncancio
 
Heb deze code gevonden (http://groups.google.be/group/micro...043cd6d5ee?hl=nl&ie=UTF-8&q=refresh+worksheet)

Het getal 20 eventueel aanpassen (doet nu een refresh elke 20 seconden).

Code:
Public RunWhen As Double
Public Const cRunIntervalSeconds = 20
Public Const cRunWhat = "The_Sub"
Public Const a = "a"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
* * *schedule:=True
End Sub

Sub The_Sub()
Calculate
StartTimer
End Sub

Sub StopTimer()
* *On Error Resume Next
* *Application.OnTime earliesttime:=RunWhen, _
* * * *procedure:=cRunWhat, schedule:=False
End Sub
 
Of geef in A en B het bereiken dat opgehaald moeten worden een naam en maak vanuit C een gegevensverbinding met A en B. (Data > Externe gegevens importeren). Als de verbinding gelegd is kun je die instellen dat hij om de minuut een update maakt.
 
Heel mooi Frans. Ik had niet aan deze combinatie van functionaliteiten gedacht! :thumb:
 
Hartelijk dank aan allen die bijgedragen hebben tot een goed resultaat

mvg

Jaak
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan