Avatar billede copernic Novice
05. februar 2008 - 13:20 Der er 1 kommentar

Problemer med sammenligning af 2 kollonner.

Hej Alle.
Jeg er rimelig ny i VBA programmering, men er blevet smidt ud i detuden nåde. JEg skal være ærlig og sige at jeg har lånt en kode og modificeret den en anelse, men den virker ikke efter hensigten. Jeg har fået til opgave at få excel til at lave en udligning af 2 koloner, det vil sige at frasortere de tal som er findes i kolonne b og i kolone g. Derefter skal de resterende talføres om i et nyt ark. Mit problem er som følgende. Nor jeg formatere cellerne som standart virker det som det skal, men når jeg formatere dem som tal kan den ikke frasortere som den skal. JEg aner ikke hvor fejlen ligger. Håber i kan hjælpe mig.
Koden er som følgende.

Private Sub CommandButton2_Click()            'Startes her..............
    ActiveWorkbook.Sheets(1).Activate
   
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row

Rem Test kolonne C(3) - hvilke værdier findes IKKE i G(7) - diff i kolonne D(4)
    testKolonne 3, 7, 4
   
Rem Test kolonne G(7) - hvilke værdier findes IKKE i C(3) - diff i kolonne H((8)
    testKolonne 7, 3, 8
   
    ActiveWorkbook.Sheets(2).Activate
End Sub

Private Sub testKolonne(k1, k2, k3)
Dim celle As Single
    For ræk = 2 To antalRæk
        celle = Cells(ræk, k1)
        If findVærdi(celle, k2) = False Then
            Cells(ræk, k3) = celle
        End If
    Next ræk
End Sub

Private Function findVærdi(værdi, kolonne)
    With ActiveSheet.Range(Cells(1, kolonne), Cells(antalRæk, kolonne))
        Set C = .Find(værdi, LookIn:=xlValues, LookAt:=xlWhole)
        If Not C Is Nothing Then
            findVærdi = True
        Else
            findVærdi = False
        End If
    End With
End Function

Hvis det kan hjælpe vil jeg gerne sende regnearket.
Avatar billede excelent Ekspert
05. februar 2008 - 17:42 #1
Hvis du kopierer alle tal til et andet ark i samme kolonne
så kan følgende kode fjerne evt. dubletter hvis jeg forstår dig ret

marker hele talrækken og kør makro

Sub SletDubletter()
Dim c, r, t, t2
If Selection.Columns.Count > 1 Then MsgBox ("Kun 1 kolonne!"): Exit Sub
c = ActiveCell.Column
r = Cells(65500, c).End(xlUp).Row
Range(Cells(1, c), Cells(65500, c).End(xlUp)).Select
For t = 1 To r
If Cells(t, c) <> "" Then
For t2 = t + 1 To r
If Cells(t, c) = Cells(t2, c) Then
Cells(t2, c) = ""
End If
Next
End If
Next
On Error Resume Next
Selection.Columns.SpecialCells(xlCellTypeBlanks).Rows.Delete Shift:=xlUp
If MsgBox("Skal liste sorteres", vbYesNo, "Fjern dubletter") = vbYes Then
Selection.Sort Key1:=Range(ActiveCell.Address), Order1:=xlAscending
End If
ActiveCell.Select
End Sub
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