Avatar billede martpe Nybegynder
23. maj 2007 - 08:46 Der er 4 kommentarer og
1 løsning

Sammensmelte to kolonner til en

Hej alle eksperter,

Jeg arbejder med et ark, hvor jeg har to kolonner med forskellige tal. Jeg vil gerne samle disse i en tredje kolonne, men ens tal må ikke gentages. Nedenfor eksempel:

KolA    KolB    KolC (ønsket ress)
1        1        1
2        3        2
3        4        3
6        5        4
7        6        5
10      11      6
                  7
                  10
                  11

Nogle ideer til dannelse af kolonne C - både excel-formel og VBA løsninger er ok...
Avatar billede supertekst Ekspert
23. maj 2007 - 09:23 #1
VBA koden indlægges i Ark1:


Dim størsteTal
Sub Sammensætkolonner()  '<-- Udførelsen begynder her
    gennemGåRækker
    organiserKolonneC
End Sub
Private Sub gennemGåRækker()
Dim ræk, kol
    størsteTal = 0
Rem Gennemgå rækker
    For ræk = 1 To 65500
        If Cells(ræk, 1) = "" And Cells(ræk, 2) = "" Then
            Exit Sub
        End If
       
        For kol = 1 To 2
            tal = Cells(ræk, kol)
            If tal <> "" Then
                If Cells(tal, 3) = "" Then
                    Cells(tal, 3) = tal        'indsæt tal i kolonne C
                    If tal > størsteTal Then
                        størsteTal = tal
                    End If
                End If
            End If
        Next kol
    Next ræk
End Sub
Private Sub organiserKolonneC()
    For ræk = størsteTal To 1 Step -1
        If Cells(ræk, 3) = "" Then
            Cells(ræk, 3).Select
            Selection.Delete Shift:=xlUp
        End If
    Next ræk
End Sub
Avatar billede martpe Nybegynder
23. maj 2007 - 10:19 #2
langt hen af vejen supert, men er det muligt at lave samme "tricks", hvis cellerne ikke nødvendigvis er tal? (ved godt jeg ikke lige fik skrevet det før).

kol1  Kol2  kol3 (ønsket)
1    jeg  1 
jeg  2    jeg
2    3    2
            3

således at rangeringen er kol1-række1 dernæst kol2-række1 dernest kol2-række1 ovs...

Beklager den manglende beskrivelse i original...
Avatar billede kabbak Professor
23. maj 2007 - 12:43 #3
Sæt de 2 kolonner under hinanden
Lav en overskrift i A1

Kør denne, den sætter dem i i kolonnen
Ret 200 til sidste række med data i

Range("A1:A200").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "I1"), Unique:=True
Avatar billede martpe Nybegynder
23. maj 2007 - 13:52 #4
super, takker og send et svar...
Avatar billede kabbak Professor
23. maj 2007 - 15:42 #5
et svar ;-))
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