2 excel filer der skal tjekkes for dubletter mod hinanden
Hejsa jeg vil sige jeg ikke er en ørn til excel. Jeg har 2 forskellige filer hvor jeg skal tjekke dubletter mod hinanden, hvis man kan sige det på den måde. filen har en kolonne hvor der er tlfnr. i og de 2 filer skal tjekkes mod hinanden for at se om de samme tlfnr. står flere gange. hver fil har ca. 10.000 rækker.
Jeg mener der godt kan være flere at samme nr. i hver fil, jeg har ikke navnet på kolonnerne da jeg skal undersøge det for en ven, der skal bruge det, som jeg også skal bruge senere. desværre det er det tætteste jeg kan komme med lige nu, men hvis du skal have flere oplys. så sig til så må jeg kontakte ham *smiler*
Du kan altid bruge en countif funktion, som også hedder tæl.hvis på dansk. Måden du bruger den er på følgende. =countif(celler du ønsker at søge i; celle der indeholder original søgedata;1;0) F.eks. =countif(C:C;A1;1;0) I et sådan tilfælde ville funktionen tælle antal gange værdien af A1 findes i kollonne C. I dit tilfælde skal du jo bare finde ud af om telefonnumrene i den ene kollonne findes i den anden. Så det du gør er at du sætter funktionen ind og kopiere den ned igennem dit ark på 10000 numre. Når den er færdig med at kalkulere funktionen, så har du en masse 1 taller ved de numre som findes i begge kollonner, og en masse 0 ved dem som ikke findes i begge kollonner. På den måde finder du dit svar. Du skal lige være opmærksom på at den skal lave 10.000 x 10.000 beregninger, hvilket godt kan tage lidt tid. Op til 5 minutter alt efter din computers hastighed. Så når den er færdig først gang, og du skal til at sortere i resultaterne, så er det måske en ide lige at markere beregningskollonnen og indsætte den som værdier.. på den måde slipper du for at lave beregningerne hver gang du ændre i dine sorteringsmuligheder.
Her er en dar kikker i begge filer, den sammenligner det der står i de kolonner du har klikket en celle i.
Læs hvad der står på inputboksene
Læs begge mapper ind i excel
skift imellem dem via vindue.
Hold øje med hvilken mappe du er i, den hopper ikke selv tilbage.
læg koden i et modul i den første mappe, med tlfnumre og vælg først data der.
Public Sub TjekTlf() Dim F_AD As Range, A_AD As Range, U_AD As Range, RW As Long, Uddata() As Variant, Gentaget As Boolean Dim I As Long, Y As Long Set F_AD = Application.InputBox(Prompt:="vælg en celle i den første kolonne, med tlfnumre", Type:=8) RW = Cells(65536, F_AD.Column).End(xlUp).Row Data1 = Range(Cells(1, F_AD.Column), Cells(RW, F_AD.Column))
Set A_AD = Application.InputBox(Prompt:="Skift Mappe og vælg en celle i den anden kolonne, med tlfnumre", Type:=8) With A_AD .Parent.Parent.Activate .Parent.Activate End With RW1 = Cells(65536, A_AD.Column).End(xlUp).Row Data2 = Range(Cells(1, A_AD.Column), Cells(RW1, A_AD.Column))
ReDim Uddata(UBound(Data1) + UBound(Data2), 1) Set U_AD = Application.InputBox(Prompt:="vælg en celle i den kolonne resultatet skal i", Type:=8) With U_AD .Parent.Parent.Activate .Parent.Activate End With X = 0 Uddata(0, 0) = " Tlf" Uddata(0, 1) = " Antal"
For I = 1 To UBound(Data1) Gentaget = False If X = 1 Then Gentaget = False Else
For Y = 1 To X If Uddata(Y, 0) = Data1(I, 1) Then Uddata(Y, 1) = Uddata(Y, 1) + 1 Gentaget = True Exit For End If Next End If
If Not Gentaget Then X = X + 1 Uddata(X, 0) = Data1(I, 1) Uddata(X, 1) = 1 End If Next
For I = 1 To UBound(Data2) Gentaget = False For Y = 1 To X If Uddata(Y, 0) = Data2(I, 1) Then Uddata(Y, 1) = Uddata(Y, 1) + 1 Gentaget = True Exit For End If Next If Not Gentaget Then X = X + 1 Uddata(X, 0) = Data2(I, 1) Uddata(X, 1) = 1 End If Next Range(Cells(1, U_AD.Column), Cells(UBound(Uddata) + 1, U_AD.Column + 1)) = Uddata
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.