Avatar billede j3ppah Novice
07. oktober 2008 - 13:36 Der er 16 kommentarer og
1 løsning

Kæmpe problem!, sammenligning af tal med collum!

Dav alle eksperter... Har et problem med et regneark, som skal checke nogle tal op mod hinanden... Men problemet er ikke så let som det lyder... Den skal checke nogle tal op mod hianden, problemet er først og fremmest, det er hele collums, med måske... 2000 tal i hvert sheet, som den skal checke op...

Når så fx Sheet a1 = sheet2 C:C, skal den lige så snart den finder den føreste, sætte begge værdier til 0, så den ikke kommer til at sammenligne Sheet a1 med en af de andre i sheet C:C ud over den første i C:C den fandt...

Problemet er lidt lettere beskrevet i en xls film "test" som jeg har uploaded her: http://rapidshare.com/files/151703302/Test_til_eksp.xls.html

En bedre forklaring på mit spørgsmål, er beskrevet i toppen af sheet3!...

Husk at tænke på at i det rigtigt vil der være mellem 100-2000 tal i rækkerne... dette var blot nogle tal jeg lige fandt på!...

PS. Nogle gange vil der være tal som ikke finder en partner!!!...


HÅBER VIRKELIGT i kan hjælpe...!!...

spørg endelig hvis jeg ikke har formuleret mig godt nok...
07. oktober 2008 - 15:20 #1
http://www.smartoffice.dk/SmartOffice/Products/Compare2Column.asp
- det er måske ikke til så megen hjælp, da du sikkert søger en gratis løsning
Avatar billede j3ppah Novice
07. oktober 2008 - 15:27 #2
Selvfølgelig søger jeg en gratis løsning ^^.. og ver da næsten 100% sikker på at det kan lade sig gøre med nogle =IF(OR(Somthing)) eller lignende ^:D
Avatar billede kabbak Professor
07. oktober 2008 - 16:07 #3
koden er ikke helt som du bad om, det er nemmere at  arbejde, med c kolonnen.



Public Sub Tjek()
    Dim Data1 As Variant, Data2 As Variant, I As Long, J As Long, RW As Long
    Data1 = [Ark1].[i:j] ' læser 2 kolonner ind i Data1
    For I = 1 To UBound(Data1)
        If Not IsEmpty(Data1(I, 2)) Then
            Data1(I, 1) = Data1(I, 2) * -1 ' flytter negative værdier over i kolonne I, som  minusværdier
        End If
    Next
    RW = [Ark2].[C65536].End(xlUp).Row ' tjekker antal date i ark2 C kolonnen
    Data2 = [Ark2].Range("C1:C" & RW)  'læser det ind i Data2

    For I = 1 To UBound(Data1)
        For J = 1 To RW
            If Data2(J, 1) = Data2(1, 1) Then Data2(J, 1) = 0 ' tjekker dem op imod hinanden
        Next
    Next
    [Ark2].Range("D1:C" & RW) = Data2 ' skriver resultatet i d kolonnen ark2
End Sub
Avatar billede j3ppah Novice
08. oktober 2008 - 12:36 #4
Jeg kan vel ikke få dig til lige at smide, en fil på rapid share hvor det er i brug ?... Ved ikke en gang hvor koden der skal indsættes ^^
Avatar billede kabbak Professor
08. oktober 2008 - 16:56 #5
Avatar billede j3ppah Novice
09. oktober 2008 - 08:36 #6
Det eneste der virkeligt mangler, er den med at hvis der nu er 2 tal der er ens i den ene... så tager den dem stadig som om de har fundet partner... problemet er så bare at det er med den samme :/
Avatar billede j3ppah Novice
09. oktober 2008 - 08:37 #7
Hov... nu glemte jeg lige at sige DAMN tak! :D... lige bortset fra den sidste ting spiller det max!
Avatar billede kabbak Professor
09. oktober 2008 - 15:39 #8
det sidste, burde løses med

Public Sub Tjek()
    Dim Data1 As Variant, Data2 As Variant, I As Long, J As Long, RW As Long
    Data1 = [Ark1].[i:j] ' læser 2 kolonner ind i Data1
    For I = 1 To UBound(Data1)
        If Not IsEmpty(Data1(I, 2)) Then
            Data1(I, 1) = Data1(I, 2) * -1 ' flytter negative værdier over i kolonne I, som  minusværdier
        End If
    Next
    RW = [Ark2].[C65536].End(xlUp).Row ' tjekker antal date i ark2 C kolonnen
    Data2 = [Ark2].Range("C1:C" & RW)  'læser det ind i Data2

    For I = 1 To UBound(Data1)
        For J = 1 To RW
            If Data2(J, 1) = Data2(1, 1) Then
Data2(J, 1) = 0 ' tjekker dem op imod hinanden
exit for
end if
        Next
    Next
    [Ark2].Range("D1:C" & RW) = Data2 ' skriver resultatet i d kolonnen ark2
End Sub
Avatar billede kabbak Professor
09. oktober 2008 - 15:42 #9
det var forkert kode, her er den rigtige

Public Sub Tjek()
    Dim Data1 As Variant, Data2 As Variant, I As Long, J As Long, RW As Long
    RW = Application.WorksheetFunction.Max(Sheets("Sheet1").[I65536].End(xlUp).Row, Sheets("Sheet1").[J65536].End(xlUp).Row)
    Data1 = Sheets("Sheet1").Range("i1:j" & RW)    ' læser 2 kolonner ind i Data1
   
    For I = 1 To UBound(Data1)
        If Not IsEmpty(Data1(I, 2)) Then
            Data1(I, 1) = Data1(I, 2) * -1    ' flytter negative værdier over i kolonne I, som  minusværdier
        End If
    Next
   
    RW = Sheets("Sheet2").[C65536].End(xlUp).Row  ' tjekker antal date i ark2 C kolonnen
    Data2 = Sheets("Sheet2").Range("C1:C" & RW)  'læser det ind i Data2

    For I = 1 To UBound(Data1)
        For J = 1 To RW
            If Data2(J, 1) = Data1(I, 1) Then
            Data2(J, 1) = 0    ' tjekker dem op imod hinanden
            Exit For
            End If
        Next
    Next
    Sheets("Sheet2").Range("D1:D" & RW) = Data2    ' skriver resultatet i d kolonnen ark2
End Sub
Avatar billede j3ppah Novice
09. oktober 2008 - 15:45 #10
Det gjorde så at den slet ikke virker efter hendsigten.. nu skriver den bare alle de tal der står i kolonnen ^^...
Selv dem der ikke finder partner skriver den bare det samme... Hmm ved ikke lige hvor fejlen ligger ? :/
Avatar billede kabbak Professor
09. oktober 2008 - 15:52 #11
den sidste kode, er tjekket
Avatar billede j3ppah Novice
09. oktober 2008 - 15:55 #12
Jeg får helt forkert output :S...
Avatar billede kabbak Professor
09. oktober 2008 - 16:19 #13
Avatar billede j3ppah Novice
10. oktober 2008 - 11:00 #14
Jeg kunne ikke være mere tilfreds!... Kæft du fortjener en KÆMPE HÅND...
Ville med glæde give dig 1000 points :(.. men det er desvære ikke tilladt her inde...!...

Mange tak for hjælpen!
Avatar billede j3ppah Novice
10. oktober 2008 - 11:03 #15
Baah.. Opdagede lige en fejl...

Lige så snart der er en der ikke går op (i den nye) så siger den at resten heller ikke går op, selvom de gør.. :/
Avatar billede j3ppah Novice
10. oktober 2008 - 12:35 #16
Mig der tog fejl... Det virker perfekt!
Avatar billede j3ppah Novice
29. oktober 2008 - 19:44 #17
Kabbak, hvis du vil tjene 200 point's mere, ligger der en ekstra opgave, hvor jeg er TOTALT lost igen...
http://www.eksperten.dk/spm/850902

Hmm... det er egentligt bare det du har skrevet en gang, det skal bare vendes om :D
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