Avatar billede morkaj Nybegynder
02. maj 2007 - 08:16 Der er 8 kommentarer og
1 løsning

"Flette" 2 tabeller

Forestil dig 2 kontoplaner (kontonummer, kontonavn og beløb). Desværre er der afvigelser i numrene.

Hvordan laver man en samlet liste med alle kontonumre og navn? Uden at der flagre en masse tomme linjer og lignende.

Beløbene er ligemeget, det ordner sig.

VEnligst
M
Avatar billede x-lars Novice
02. maj 2007 - 08:58 #1
Står de to tabeller i hvert sit ark? I så fald kan Data > Konsolider ofte være et hjælpemiddel, men har den bagdel, at den vil lægge beløbene sammen, dér hvor kontonummer og kontotekst er sammenfaldende - og det var måske ikke meningen?
Avatar billede supertekst Ekspert
02. maj 2007 - 10:20 #2
Kan udføres via VBA - men mere info nødvendigt:
- er de to kontoplaner i samme xls-mappe eller i hver sin?
- ønsker du sortering af den samlede liste?
- er der overskifter, der skal tages hensyn til?
- er der tale om kolonne A-C?
Avatar billede morkaj Nybegynder
02. maj 2007 - 21:25 #3
Kan godt se at det var småt med oplysninger:

Eks.

A = Kontonummer 1995
B = Kontotekst 1995
C = Beløb 1995

D-F = ditto for 1996
G_j = Ditto for 1997
o.s.v.

Det der ønskes er at der genereres en liste med alle anvendte kontonumre og navne hvis der kan rubriceres med beløb for de enkelte år er de snygt, men elleres kan det laves med Andre funktioner.

Venligst og tak for interessen.
M
Avatar billede morkaj Nybegynder
02. maj 2007 - 21:26 #4
Tilføjer lige - Tabellerne er i samme ark. Det er indkopieret tekst/tal, ingen formler. (endnu....)
Avatar billede supertekst Ekspert
02. maj 2007 - 23:14 #5
Tak - ville nok være en fordel, hvis du kunne sende en kopi af arket til: pb@supertekst-it.dk

og måske kunne du også illustrere det ønskede resultat - det ville fremme "ekspeditionen".
Avatar billede morkaj Nybegynder
07. maj 2007 - 22:46 #6
Du har fået post.
MVH
Morten
Avatar billede supertekst Ekspert
09. maj 2007 - 11:55 #7
Det har du også....
Avatar billede supertekst Ekspert
21. maj 2007 - 09:05 #8
Const maxRæk = 1000
Dim antalKto
Dim kontoNr, kontoTekst
Dim KontoplanRæk
Sub opbygKontoplan()
    antalKto = 0
   
    Application.ScreenUpdating = False
   
    sletArk2
   
    With ActiveWorkbook.Sheets(1)      'balanceanalyse
Rem gennemløb nedennævnte rækker
        For række = 8 To maxRæk
Rem er cellen i kolonne G/7 og J/10 udfyldt
            sætIark2 Cells(række, 7)
            sætIark2 Cells(række, 10)
        Next række
    End With
   
    sorterktoNr
    filtrerKtoNr antalKto
    indsætKontoTekst antalKto
       
    ActiveWorkbook.Sheets(2).Activate
    ActiveWorkbook.Sheets(2).Cells(1, 1).Select
    ActiveSheet.Columns.AutoFit
   
    Application.ScreenUpdating = True
   
    MsgBox ("Opbygning af kontoplan afsluttet")
End Sub
Private Sub sletArk2()
On Error Resume Next
    ActiveWorkbook.Sheets(2).Cells.Select
    Selection.ClearContents
   
End Sub
Private Sub sætIark2(kto)
    If kto <> "" Then
        antalKto = antalKto + 1
        ActiveWorkbook.Sheets(2).Cells(antalKto, 1) = kto
    End If
End Sub
Private Sub sorterktoNr()
    With ActiveWorkbook.Sheets(2)
        .Range("A1:A253").Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End With
End Sub
Private Sub filtrerKtoNr(stopRæk)
    With ActiveWorkbook.Sheets(2)
        For Ræk = stopRæk To 2 Step -1
            If .Cells(Ræk, 1) = .Cells(Ræk - 1, 1) Then
                ActiveWorkbook.Worksheets(2).Rows(Ræk).Delete
                Selection.Delete Shift:=xlUp
                antalKto = antalKto - 1
            End If
        Next Ræk
    End With
End Sub
Private Sub indsætKontoTekst(antal)
    With ActiveWorkbook.Sheets(2)
        For Ræk = 1 To antal
            kontoTekst = findTekst(.Cells(Ræk, 1))
            .Cells(Ræk, 2) = kontoTekst
        Next Ræk
    End With
End Sub
Private Function findTekst(kto)
    With ActiveWorkbook.Sheets(1)
        For Ræk = 8 To 65500
            If .Cells(Ræk, 1) = "" Then
                findTekst = "?"
                Exit Function
            Else
                If Val(.Cells(Ræk, 1)) = kto Then
                    findTekst = .Cells(Ræk, 2)
                    Exit Function
                End If
            End If
        Next Ræk
    End With
End Function
Private Sub CommandButton1_Click()
    opbygKontoplan
End Sub
Avatar billede morkaj Nybegynder
23. maj 2007 - 08:03 #9
Den er lige i øjet
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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