Har driblet lidt kode sammen:
[div]Sub Opsamling()
Dim wksHent As Range
Dim wksSaml As Worksheet
Dim sidsterk As Long
Dim kopiomr As Range
Dim kolonner As Variant
kolonner = Split(Names("HentKolonner").RefersToRange.Value2, ":")
Set wksSaml = Worksheets(Names("SamlearkNavn").RefersToRange.Value2)
wksSaml.Cells.ClearContents
For Each wksHent In Names("OpsamlingFra").RefersToRange.Cells
sidsterk = Worksheets(wksHent.Value2).Range("A" & Worksheets(wksHent.Value2).Rows.Count).End(xlUp).Row
'kopi dataomkr
Set kopiomr = Worksheets(wksHent.Value2).Range(kolonner(0) & "2:" & kolonner(1) & sidsterk)
wksSaml.Range("A" & wksSaml.Rows.Count).End(xlUp).Offset(1, 0).Resize(kopiomr.Rows.Count, kopiomr.Columns.Count).Value2 = kopiomr.Value2
'kopi overskrift
wksSaml.Range("A1").EntireRow.Value2 = Worksheets(wksHent.Value2).Range("A1").EntireRow.Value2
Next
End Sub[div]
Koden er baseret på 3 navngivne områder:
HentKolonner - feks. A:K
SamlearkNavn: navnet på den arkfane data skal leveres til
OpsamlingFra: en liste over de arkfaner der skal hentes fra
Filen kan findes her:
https://www.it-fjernundervisning.dk/info/eksperten-svarDer er kodet med følgende antagelser:
1) Sidste datarække kan findes ud fra data i kolonne A
2) Der ikke er sat filter på data arkfanerne