Avatar billede lerskov Praktikant
20. november 2008 - 15:25 Der er 7 kommentarer og
1 løsning

Find unikke værdier

Jeg har 2 kolonner med en masse numre, jeg vil gerne sammenligne dem og finde alle de værdier der kun optræder 1 gang og liste dem i kolonne 3.

Regner med at dette kan løses i noget vba kode.

Håber nogle kan hjælpe.
Avatar billede jkrons Professor
20. november 2008 - 18:06 #1
Kan der være unikke værdier i både kolonne 1 og 2, eller er den ene kolonne altid dubletter af den anden?
Avatar billede lerskov Praktikant
20. november 2008 - 22:25 #2
Der er kun "nye" værdier i den ene kolonne f.eks. kolonne "P". Den skal sammeligne med kolonne "A". Der er i Kolonne "P" tale om en databaseforespørgsel, der er formateret som tekst og kolonne "A" er og skulle gerne være formateret som tal. Der kan ikke forekomme andet end tal i forespørgelsen.
Avatar billede mikker Nybegynder
28. november 2008 - 12:31 #3
a1 = Sheets("Ark2").Range("H60000").End(xlUp).Row
a2 = Sheets("Ark2").Range("I60000").End(xlUp).Row
kolc = 4
For i = 4 To a1
ant = 0
    For p = 4 To a2
    If Sheets("Ark2").Range("I" & p) = Sheets("Ark2").Range("H" & i) Then ant = ant + 1
Next p
If ant = 1 Then Sheets("Ark2").Range("J" & kolc) = Sheets("Ark2").Range("H" & i): kolc = kolc + 1

Next i

Så kan du selv rette til.
Og næste gang kan du jo lige vende dig om og spørge, dovne hund!
Avatar billede mikker Nybegynder
28. november 2008 - 12:37 #4
Ja ja, nu har jeg forstået opgaven.
Øjeblik...
Avatar billede mikker Nybegynder
28. november 2008 - 13:02 #5
Test lige den her...
Den er ikke pæn men jeg tror den virker efter hensigten.

Dim cell As Range
a1 = Sheets("Ark2").Range("H60000").End(xlUp).Row
a2 = Sheets("Ark2").Range("I60000").End(xlUp).Row

kolc = 4

For i = 4 To a1
ant = 0
sog = Sheets("Ark2").Range("H" & i)
    For Each cell In Sheets("Ark2").Range("H4:I" & a2)
        If CStr(sog) = CStr(cell.Value) Then ant = ant + 1
    Next
If ant = 1 Then Sheets("Ark2").Range("J" & kolc) = sog: kolc = kolc + 1
Next i


For p = 4 To a2
ant = 0
sog = Sheets("Ark2").Range("I" & i)
    For Each cell In Sheets("Ark2").Range("H4:I" & a2)
        If CStr(sog) = CStr(cell.Value) Then ant = ant + 1
    Next
If ant = 1 Then Sheets("Ark2").Range("J" & kolc) = sog: kolc = kolc + 1

Next p
Avatar billede mikker Nybegynder
28. november 2008 - 13:33 #6
Og JA fejlen er lavet med vilje, så held og lykke med at finde den...
Avatar billede lerskov Praktikant
01. december 2008 - 19:54 #7
Fejlene er fundet.... Takker.

smid et svar.
Avatar billede mikker Nybegynder
02. december 2008 - 16:45 #8
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
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