Avatar billede kim1a Ekspert
15. juni 2015 - 14:42 Der er 1 løsning

VBA markere sidste kolonne dynamisk

Jeg har et faneblad for hver uge, samt et faneblad (data) som laver opsamling via indirekte formler.

Da jeg skal overdrage opgaven har jeg skabt en VBA som min arvtager ikke laver fejl i opdateringen.
Sidste skridt er nu at yderste kolonne i data fanebladet (som i praksis f.eks. er uge 22 skal kopieres til næste kolonne (så der bliver en uge 23 i fanebladet). Grunden til at jeg ikke kan have dem fra start er at filen bliver meget langsom hvis der er indirekte henvisninger til faneblade der ikke eksisterer endnu (og jeg kan ikke oprette dem på forhånd).

Jeg optog hvad jeg gør i makroen her:

Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.AutoFill Destination:=Range("C1:Y125"), type:=xlFillDefault
Range("C1:Y125").Select

Problemet er naturligvis at det skal gøres dynamisk.

Jeg planlagde at gå den tunge vej og finde adressen på øverste celle i sidste kolonne i data fanen, for så at markere og kopiere (nederste række er konstant), men tænkte nogle af jer måske havde en bedre ide?
Avatar billede kim1a Ekspert
15. juni 2015 - 16:14 #1
Jeg er endt med dette - jeg synes ikke det er videre elegant, men nogenlunde kort:

Sub start()
Dim LgLastColumn As Long

Sheets("Data").Select
LgLastColumn = Cells(3, 1).End(xlToRight).Column
Range(Cells(1, LgLastColumn), Cells(150, LgLastColumn)).Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(Cells(1, LgLastColumn), Cells(150, LgLastColumn + 1)), Type:=xlFillDefault
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