Avatar billede Klaus W Guru
31. august 2018 - 14:56 Der er 4 kommentarer og
1 løsning

samle data fra flere ark

Jeg har en lille opgave som jeg ikke selv kan knække.
Jeg ønsker at samle data fra flere ark (Med forskelligt navn) ikke alle arkene i filen, til et allerede eksisterende ark (Med fast navn). Området varierer i rækker fra ark til ark, men ikke i kolonner fra A til G.
Håber det giver mening, og at nogle kan hjælpe.
God weekend til alle
Klaus W
Avatar billede Jørgen Kirkegaard Professor
31. august 2018 - 15:09 #1
En lækkerbidsken for Access. Hvis det er en engangsfornøjelse gør jeg det gerne for dig. Jeg laver selvfølgelig også programmet for dig, så du kan gøre det igen.
Avatar billede ebea Ekspert
31. august 2018 - 18:33 #2
Jeg kan se, at du har oprettet det samme spørgsmål i Dansk Regneark Forum (og det er du da i din gode ret til). Men det er en dårlig ide, at have samme spørgsmål oprettet flere forskellige steder.
Og det er det, fordi at hvis nu en person laver en færdig løsning på det ene Forum, og så at der måske sidder en person og forsøger at lave en løsning på det andet Forum, uden at vide at der er fundet en løsning, så er det lidt skønne spildte kræfter for denne person.
Avatar billede Klaus W Guru
01. september 2018 - 07:37 #3
Godmorgen Ebea tænkte jeg ikke lige over
Goddag

KW
01. september 2018 - 09:08 #4
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-svar

Der 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
Avatar billede Klaus W Guru
27. marts 2020 - 20:40 #5
1000 tak
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

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