Avatar billede clausnilsson Mester
21. juni 2020 - 11:06 Der er 1 kommentar og
1 løsning

VBA opdaterer forkert

På sheet 2 har jeg data hentet fra en online database.

På sheet 1 arbejder jeg videre med data, henter dem sådan her: =HVIS('Raw data'!B2="";"";'Raw data'!B2) og så er der andre kolonner, der laver beregninger på de hentede data.

Databasen opdateres dagligt og jeg henter nye data med denne:

Sub Update_data()
' Update_data Makro
    Range("N4").Select
    ActiveCell.FormulaR1C1 = Now
    Range("A12:L1000").Select
    Selection.ClearContents   
    ActiveWorkbook.RefreshAll   
    Range("A11:L11").Select   
    Selection.Copy   
    Range("A12:A1000").Select   
    ActiveSheet.Paste   
    Application.CutCopyMode = False   
    Range("A11").Select
End Sub

Hvis der før min update var 100 rækker i begge ark, og der siden sidste update er kommet 10 nye poster i databasen, bliver resultatet 110 rækker i sheet 2 (raw data), men kun 101 rækker på sheet 1. Det er de oprindelige 100 rækker plus den sidste. Men de første 9 af de 10 nye springer den over! Hvorfor mon det?
Avatar billede Jan K Ekspert
21. juni 2020 - 11:57 #1
Hvis makroen henter data korrekt til ark2, må fejlen ligge i formlen i ark1, men jeg ikke ud fra det viste, gennemskue hvor.
Avatar billede clausnilsson Mester
25. juni 2020 - 17:26 #2
Tror måske jeg har fundet ud af hvorfor. Makroen kører jo lynhurtigt, men opdateringen fra databasen tager lidt tid, måske 1 sekund. Jeg har derfor løst problemet med at dele makroen op i to dele, så anden del, der opdaterer hovedarket starter jeg først når jeg kan se at rådata er opdateret.
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

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