08. august 2017 - 20:56 Der er 1 kommentar og
2 løsninger

Samlig af data fra forskellige ark

I en Excel fil har jeg en mængde ark. (et ark for hvert kvartal)

I hvert ark er en mængde oplysninger som fx, ID-nr. (unikt, hvis det betyder noget) navn, adresse osv.

Jeg forsøger at lave et nyt ark hvor der er en samlet oversigt over alle op oplysninger men kun så de fremgår en gang.

Fx data i arken kunne være (Id-nr. i kolonne A)
Ark 1 : 1,2,3
Ark 2 : 3,4,5
Ark 3 : 1,3,5,4

Så vil jeg gerne kunne lave en ny samlet liste, der viser mig en samlet oversigt over alle ID-nr - så ”løsningen” bliver 1,2,3,4,5 - Er det muligt at lave.

Jeg skal også bruge andre "stamoplysninger" - men tænker at det må jeg kunne trække over med Vlookup - eller tilsvarende

Der vil komme et nyt ark på hvert kvartal, så hvis mulig må løsningen meget gerne tage højde for at der jævnligt vil blive tilført nye data
Avatar billede Jan Hansen Ekspert
09. august 2017 - 11:07 #1
Du får nok brug for en brugerdef. funktion, jeg har lavet en til dig

sæt følgende ind i et modul



Option Explicit

Dim wb As Workbook
Dim MinusArk As Worksheet
Dim ws() As Worksheet, wsOpslag As Worksheet
Dim rCell As Range, rCol As Range, rOmråde As Range
Dim Count As Integer
Function ArkOmråde(Opslag As Integer, Dette_Ark_Tekst As String, Hent_Kolonne As Integer) As String
    Application.Volatile
    Set wb = ThisWorkbook
    Set MinusArk = Sheets(Dette_Ark_Tekst)
    ReDim ws(wb.Sheets.Count)
    For Count = 1 To wb.Sheets.Count
        Set ws(Count) = Sheets(Count)
    Next
    For Count = 1 To wb.Sheets.Count
        If ws(Count).Name <> MinusArk.Name Then
            Set rCol = ws(Count).Range("A1")
            Set rCol = Range(rCol, rCol.End(xlDown))
            For Each rCell In rCol
                If rCell.Value = Opslag Then
                    Set wsOpslag = ws(Count)
                    Exit For
                End If
            Next
        End If
    Next
ArkOmråde = ""
    On Error GoTo Errorhandler
        Set rOmråde = wsOpslag.UsedRange
    On Error GoTo 0
        ArkOmråde = Application.WorksheetFunction.VLookup(Opslag, rOmråde, Hent_Kolonne, False)
    Exit Function
Errorhandler:
    ArkOmråde = ""
End Function




Jan
Avatar billede Jan Hansen Ekspert
09. august 2017 - 11:12 #2
du vil nu kunne skrive

=ArkOmråde(A2;"KundeData";2)

hvor a2 er id'et du vil slå op, "Kundedata" er arket du er i og 2 er den kolonne du vil have data retur fra.

Jan
09. august 2017 - 12:27 #3
Tusind tak - meget fint
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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