Avatar billede kim1a Ekspert
29. juli 2016 - 10:45 Der er 1 kommentar og
1 løsning

VBA udfordring med autofill

Jeg har en fejl i min kode som gør at den, fremfor kun at autofill'e ned til række ca 5000 går til bund i fanen. Koden ser således ud (strFilnavn er naturligvis defineret andetsteds.

    ThisWorkbook.Activate
    Sheets("Samlet").Select
    Cells(2, 24).Select
    ActiveCell.Formula = "=SUMIF(" & strFilnavn & "!$T:$T,T2," & strFilnavn & "!$V:$V)"
    ActiveCell.Select
    Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.End(xlDown))

Udfordringen er naturligvis at det dræber alt i beregninger hvis den laver 1 mio sumif formler.
Jeg forstår dog ikke at den går længere ned, når kolonnen før har ca 5000 linjer (uden tomme imellem).

Jeg har derfor leget lidt med en variabel som tæller antallet af rækker, men hvordan ser Autofill ud hvis man skal bruge denne variabel - jeg kan ikke få det til at virke.
Avatar billede excelent Ekspert
29. juli 2016 - 11:44 #1
Du kunne sætte en begrænsning på fx :

rkMax = WorksheetFunction.Min(Range(ActiveCell, ActiveCell.End(xlDown)), 5000)
rk = ActiveCell.Row: kol = ActiveCell.Column
Selection.AutoFill Destination:=Range(Cells(rk, kol), Cells(rkMax, kol))
Avatar billede kim1a Ekspert
29. juli 2016 - 12:34 #2
Ja det var måske en mulighed, men er det ikke lidt dårlig kodning, der skal sættes en  begræsning der ikke kan finde på at skære linjer fra, så den ender med at kopiere for mange formler ind - så hellere bruge en variabel der tæller antal linjer.

Jeg brugte dog dit eksempel til at skabe koden med variablen
intSidsteRække = Range("a1").End(xlDown).Row
Selection.AutoFill Destination:=Range(Cells(2, 24), Cells(intSidsteRække, 24))

Så du svarede på mit spørgsmål :-)
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