04. april 2015 - 09:16Der er
2 kommentarer og 1 løsning
Automatisk indsætning af tomme rækker
Hej
Jeg har et regneark hvor der forekommer en masse kundeposter. Jeg vil gerne have indsat en blank række efter hver kunde. Der optræder forskellige antal poster pr. kunde Hvordan gøres det nemmest? (uden at gøre det manuelt)
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
Jeg går ud fra, at du ønsker dette af "kosmetiske årsager"? Det er i andre sammenhænge ikke smart at have tomme rækker i et datasæt. Men det kan gøres vha. VBA på mange forskellige måder. Nedenunder er et eksempel.
Først skal du sikre dig, at posterne er sorteret efter en korrekt nøgle. I dit tilfælde er det f.eks. kundenummeret. Jeg forudsætter i det følgende, at kundenumrene er i kolonne A.
Når sorteringen er sket så kan følgende kode benyttes:
Sub IndsætTomRække() Dim ws As Worksheet Set ws = ActiveSheet Application.ScreenUpdating = False Application.DisplayAlerts = False With ws.Range("A1", ws.Range("A" & Rows.Count).End(xlUp)) .Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(1), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True .Offset(2, -1).SpecialCells(xlCellTypeConstants).Offset(, 1).ClearContents .Offset(, -1).EntireColumn.Delete .EntireColumn.RemoveSubtotal End With Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Du sætter denne kode ind i et modul og afvikler dernæst makroen fra det ark, hvor dine data findes.
NB: Husk at der ikke er en fortrydelsesmulighed med VBA, så arbejd på en kopi af dine data. Enten i en anden fil eller evt. i et separat ark.
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.