• 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.

Automatisch vernieuwen werkt maar 1x

Status
Niet open voor verdere reacties.

MarcelExcel

Gebruiker
Lid geworden
3 jan 2013
Berichten
34
Ik wil de gegevens in een document automatisch laten vernieuwen bij openen. Op zich werkt dit goed, alleen het functioneert maar 1x.
Zowel met een macro als in VBA geprobeerd. De beveiliging heb ik gehad op niet automatisch en vragen en via makro's toestaan.
Dit heeft ook geen effect.
Bestand is opgeslagen als werkmap met macro's.

Wat zie ik over het hoofd?

Alvast bedankt.
 
Mij is niet helemaal duidelijk welk soort gegevens je wilt vernieuwen? Misschien helpt een voorbeeldbestand?
 
Sub voorbeeld()

Range("B2").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
End Sub

In dit voorbeeld selecteert de macro eerst een Range IN DE TABEL. Dan pas kan de macro de tabel vernieuwen.
Sla je je bestand op terwijl je geen cel in de tabel hebt geselecteerd ziet excel niet wat ie moet vernieuwen
 
Ik heb nu het volgende in vba staan:

Code:
Private Sub Workbook_Open()
Dim oQT As QueryTable
    Dim oSh As Worksheet
    Application.Cursor = xlWait
    For Each oSh In ActiveWorkbook.Worksheets
        For Each oQT In oSh.QueryTables
                oQT.Refresh False
        Next
    Next
    Application.Cursor = xlDefault
End Sub

Ik heb niet zo veel ervaring met VBA en macro's. Bovenstaande heb ik van het internet gehaald.

Ik heb opnieuw getest met een nieuwe macro:
Code:
Sub Auto_openen()
'
' Auto_openen Macro
' automatisch bijwerken bij openen
'

'
    Sheets("94").Select
    Range("A2").Select
End Sub
Ook voor deze geldt, 1x gaat het goed en daarna niet meer. (VBA voorbeeld en macro staan in aparte bestanden, niet bij elkaar)

Hopelijk nu een wat duidelijkere toelichting.
 
Laatst bewerkt door een moderator:
Ik gebruik de volgende code om een tabel vanuit Access te verversen bij het openen van me Excel bestand

Code:
Sheets("[B]Jou tabblad naam[/B]").Select
Cells(1, 2).Select <-- hij selecteert hier de cel IN de tabel uit Access die ie moet vernieuwen als je dit niet doet ziet excel niet wat hij moet vernieuwen
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=True
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
 
Laatst bewerkt door een moderator:
Code:
Sheets("Jou tabblad naam").Select
Cells(1, 2).Select 
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=True
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False

Plak dus bovenstaande code in je module zet jou tabblad naam erin en dan moet hij werken
 
Laatst bewerkt door een moderator:
Net als bij de andere codes ook hier het probleem... het werkt 1x en daarna niet meer.
Vraag me af of we niet ergens een instelling over het hoofd zien die iets blokkeert
 
Rechts-klik in de gegevens en kies Vernieuwen. Dat werkt wel?
Rechts-klik en onderzoek de eigenschappen van de verbinding.

De code van autoweek verkort:
Sheets("Jou tabblad naam").ListObjects(1).QueryTable.Refresh BackgroundQuery:=False
Het is overigens niet noodzakelijk dat bij jou de querytable óók gekoppeld is aan een listobject (bijv als het een import is van een csv-bestand). Maar als het werkt dan werkt het. :)
Iha wil je zo'n refresh niet in de achtergrond doen, omdat je dan problemen kunt krijgen met code die daarna iets met de gegevens doet.
 
@autoweek Nu al verschillende berichten van je aangepast. Code dient tussen codetags gerplaatst te worden.
 
Bekijk bijlage Bestelschema automatisch vernieuwen.xlsmHierbij het bestand. Hij staat nu alleen met de macro ingesteld die vernieuwd bij openen. Dit gaat 1x goed, daarna niet meer.
Gegevens worden uit een Exact database gehaald. Die koppeling werkt goed. Je kan met "vernieuwen" de gegevens bijwerken. Dit werkt altijd.
Eigenschappen van de verbinding zijn niet te benaderen (waarschijnlijk omdat er een rechtstreekse koppeling ligt vanuit Exact naar Excel (Excel Add-in)).

Alvast bedankt voor het kijken.

Groet
Marcelinus
 
Ik ga nog even verder neuzen naar dit onderwerp.
Iedereen bedankt voor de reakties.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan