Avatar billede challenge Praktikant
02. juni 2009 - 16:26 Der er 2 kommentarer og
1 løsning

VBA AutoFill hvis kriterie ikke opfyldt

Hej Eksperter,

Jeg er ikke klar over, om dette bør ligge i opgaver, men jeg smider det her.

Jeg har en tabel med en række datoer, hvor den nederste dato er et udtryk for den næste hverdag efter i dag (dette er sørget for med en formel i dato-cellen). For at dette altid skal være gældende, skal jeg manuelt ind og AutoFill'e nedad hver morgen.

Er det muligt, vha. VBA, at automatisere følgende hver gang Excel-arket åbnes (?) :

Hvis nederste celle ikke er lig næste hverdag efter i dag, tag da nederste celle og AutoFill nedad 1 gang. Gør dette indtil kriteriet (dato-celle er lig næste hverdag fra i morgen) er opfyldt.

Således regner jeg ud, hvilken dato er den næste hverdag i rækken (hvis det har nogen betydning):
=IF(WEEKDAY(B6+1)>1;IF(WEEKDAY(B6+1)<7;B6+1;B6+3);B6+3)

Hvis hvad jeg ønsker stadig er uklart, specifiser da gerne hvad jeg bør uddybe.
Avatar billede challenge Praktikant
02. juni 2009 - 16:56 #1
Dette er hvad jeg med min begrænsede viden kan finde ud af, indtil videre:

Sub AutoFillLastCell()

    Set SourceRange = Worksheets("Sheet1").Range("A1:G1")
    Set fillRange = Worksheets("Sheet1").Range("A1:G30")
    SourceRange.AutoFill Destination:=fillRange
   
    Range("A65000").End(xlUp).Select

End Sub

Denne fylder A1:G1 til A30:G30 og markerer sidste brugte celle - hvorledes kan jeg sammensætte dette således at Sourcerange er sidste brugte celle (eks. A21:G21) og AutoFiller ned en gang (eks. A22:G22)?
Avatar billede challenge Praktikant
02. juni 2009 - 17:47 #2
Jeg fik den vist selv. Google kan fikse mange problemer...

Sub AutoFillLastCell()
   
    Dim currentNow As Integer
    currentNow = 14
   
    Do While Worksheets("Sheet1").Range("A65000").End(xlUp).Value < currentNow
   
        Set SourceRange = Worksheets("Sheet1").Range("A1:G2")
        Set fillRange = Worksheets("Sheet1").Range("A1:G" & Worksheets("Sheet1").Range("A65000").End(xlUp).Offset(1, 0).Row)
        SourceRange.AutoFill Destination:=fillRange
   
    Loop

End Sub
Avatar billede challenge Praktikant
02. juni 2009 - 17:47 #3
...
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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