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

VBA code Alles vernieuwen

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

jog

Gebruiker
Lid geworden
4 mrt 2009
Berichten
69
Hallo,

bij het ophalen van data uit access worden bepaalde cijfers in excel in tekstformaat weergegeven.
Om dit op te lossen heb ik een knop aangemaakt met onderliggende code om deze om te zetten naar getalformaat (en dit werkt zoals het hoort).

Code:
Sub GeslachtnaarcijferMuzikanten()
    With ActiveSheet
        With .Range("J3:J" & .Cells(.Rows.Count, "J").End(xlUp).Row)
            .Value = .Value
        End With
    End With   
End Sub

Het is niet de bedoeling dat telkens bij het openen van de excel file de data opnieuw worden opgehaald, maar enkel wanneer ik dat vraag CTRL + ALT + F5 of Thisworkbook.RefreshAll

Graag had ik dit in bovenstaande macro geïmplementeerd zodat eerst de data éénmalig vernieuwd worden en pas daarna de macro wordt uitgevoerd (omzetten naar getalformaat)

Onderstaande code resulteert in fout resultaat

Code:
Sub GeslachtnaarcijferMuzikanten()
    ThisWorkbook.RefreshAll

    With ActiveSheet
        With .Range("J3:J" & .Cells(.Rows.Count, "J").End(xlUp).Row)
            .Value = .Value
        End With
    End With
   
End Sub

Graag hulp bij dit probleempje :o
 
hiermee kan het (er is ook nog een ingewikkelder methode met een klassemodule)

Code:
Sub GeslachtnaarcijferMuzikanten()
    ThisWorkbook.RefreshAll
  
     Do until vartype(activesheet.cells(3,10))=8
        Doevents
     loop

    With activesheet.usedrange.columns(10)
      .Value = .Value
    End With
End Sub
 
Laatst bewerkt:
beste snb,

bedankt voor de snelle reactie, maar dit geeft mij hetzelfde resultaat dan mijn vorige oplossing.

Normaal gezien druk ik op de knop "alles vernieuwen" of ctrl+alt+F5 en daarna voer ik de macro uit.
Daardoor wordt kolom J een kolom met cijfers die herkend wordt in de functie ALS (om per geslacht te kiezen voor Mijnheer, Mevrouw of Familie).
Dit werkt perfect indien ik het afzonderlijk doe, ik zou het echter leuker vinden om deze 2 zaken te combineren in één macro.

Doch geeft geen van beide oplossingen het verhoopte resultaat. De gegevens worden wel vernieuwd maar in de de cellen waar de aanspreking moet verschijnen loopt wat fout. De cijfers in kolom J blijven trouwens ook links staan.

groetjes,
 
en als je dit toevoegt?
Code:
 ActiveWorkbook.RefreshAll
 
Vermoedelijk staat de eigenschap backgroundquery op true. Dan bewerk je gegevens die er nog niet zijn.

Als je het in de query zelf oplost heb je helemaal geen vba nodig.
 
Bedankt Frans,

dat was de oplossing die 't 'm deed :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan