I kapitel 6 i min VBA-bog starter vi med et eksempel på, hvordan man kan udfylde tomme celler i en datarapport ved hjælp af en makro. Eksemplet er ment som en måde at komme i gang på, hvilket vi gør ved at optage de kommandoer, vi ønsker udført. Dette medfører en masse Select-kommandoer, men hvis du vil lave en mere professionel løsning, bør du helt undgå disse og manipulere objekterne direkte ved hjælp af VBA.
I starten af kapitlet opretter vi makroen FillLabels, og den virker jo efter hensigten, men vi er også kun lige kommet i gang med at lære VBA.
Jeg har herunder skrevet en lidt mere professionel løsning, som helt undgår at fare rundt i regnearket ved hjælp af Select-metoden.
Eksempelfil: Du finder eksempelfilen Ordrer 04-2013 i mappen Kapitel 6.
Sub ProFillLabels() ' Variabelerklæring Dim rngData As Range Dim rngColToFill As Range ' Definer områdevariablerne - det er ALTID det første regneark Set rngData = ThisWorkbook.Worksheets(1).Range("A1") Set rngData = rngData.CurrentRegion Set rngColToFill = rngData.Resize(rngData.Rows.Count, 3) ' Udfyld de tomme celler med værdien fra cellen oven over rngColToFill.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" ' Indsæt værdien af formlen som værdi i cellen rngColToFill.Value = rngColToFill.Value End Sub
På samme måde kan du selvfølgelig kode de andre makroer i kapitlet og resten af bogen, men vi skal jo starte et sted.
Lær mere
Du kan lære meget mere om makroer i min bog om VBA-programmering i Excel. Bogen fås både som e-bog og som i hardcopy som kursusmateriale.