Avatar billede svaage Nybegynder
17. maj 2003 - 21:06 Der er 34 kommentarer og
1 løsning

Hente cellereference

Har oprettet et ark hvor en celle søger efter et antal forekomster af en bestemt værdi, i en database på et andet ark.

Hvis der kun er en af pågældende værdi, hvilket der helst kun skal være, kan man da få retuneret cellereferencen fra den pågældende celle på det andet ark ?
Avatar billede kabbak Professor
17. maj 2003 - 22:37 #1
På ark 1 celle(A2),har jeg kretirium
På ark 1 celle(B2),Har jeg Formel =TÆL.HVIS(Data;A2)
På ark 1 celle(C2),Har jeg Formel
=HVIS(B2=1;ADRESSE(LOPSLAG($A$2;Data;1;FALSK);LOPSLAG($A$2;Data;1;FALSK);1);" der er flere")

Data er en navngivet kolonne på ark 2
Avatar billede svaage Nybegynder
17. maj 2003 - 22:50 #2
funktionen virker som sådan godt nok, men jeg ønsker at få referencen fra ark 2
Avatar billede svaage Nybegynder
17. maj 2003 - 22:52 #3
dvs fra den celle hvor tallet i a1 ark1 står på ark 2
håber ikke det er alt for russisk snak det her
Avatar billede kabbak Professor
17. maj 2003 - 22:58 #4
=HVIS(B2=1;ADRESSE(LOPSLAG($A$2;Ark2!B:B;1;FALSK);2;1);" der er flere")

Sæt denne ind i stedet
Avatar billede kabbak Professor
17. maj 2003 - 23:00 #5
ok det virker ikke, jeg arbejder videre
Avatar billede kabbak Professor
17. maj 2003 - 23:35 #6
=HVIS(B2=1;ADRESSE(SAMMENLIGN(A2;Data;3);2;1);" der er flere")

denne virker, men det kræver at dataerne er sorteret stigende
Avatar billede svaage Nybegynder
17. maj 2003 - 23:38 #7
hvorfor kfæver den det ??, jeg kan desværre ikke få mine data til at være sorteret stigende, da de ændre sig fra gang til gang og det er ikke kun en enkelt række det handler om det er vel ca. 60
Avatar billede svaage Nybegynder
17. maj 2003 - 23:42 #8
Køjen kalder, jeg har en lille stump, der står meget tidligt op.
Håber du kan finde en løsning på mit problem :-)
Tak for hjælpen indtil videre
Avatar billede kabbak Professor
17. maj 2003 - 23:43 #9
er det 60 rækker, men er det kun 1 kolonne det drejer sig om ?.
Avatar billede svaage Nybegynder
17. maj 2003 - 23:47 #10
nej det er ca 60 rækker og 60 kolonner, i kolonne 1 står et initial og i resten af kolonnerne står forskellige data. På ark2 søger jeg i disse data og grunden til at jeg ønsker cellereferencen er at jeg skal bruge den til at hente det rigtige initial i samme række som cellereferencen kommer fra
Jeg er ikke helt gået i seng endnu
Avatar billede svaage Nybegynder
17. maj 2003 - 23:56 #11
jeg gåt i  køjen

tak for i dag
Avatar billede kabbak Professor
18. maj 2003 - 00:00 #12
Det blev til en makro

ublic Sub Find()
Dim Antal As Integer, I As Integer, Omrade As Range, Række As Integer, Kolonne As Integer
Antal = 0
Set Omrade = Worksheets("Ark1").Range("A2", "B60")
For Each C In Omrade
If C = Worksheets("Ark2").Range("A2") Then
Antal = Antal + 1
If Antal = 1 Then
Række = C.Row
Kolonne = C.Column
End If
End If

Next
If Antal = 1 Then
Worksheets("Ark2").Range("B2") = "K" & Kolonne & " , R" & Række
Else
Worksheets("Ark2").Range("B2") = "Der er fundet " & Antal
End If
End Sub
Avatar billede kabbak Professor
18. maj 2003 - 00:01 #13
der mangler lige et P i Public
Avatar billede bak Forsker
18. maj 2003 - 00:26 #14
Prøv lige denne her formel. Der giver adressen.
=ADRESSE(RÆKKE(data)+SAMMENLIGN(Ark2!A1;data;0)-1;KOLONNE(data))
Avatar billede svaage Nybegynder
18. maj 2003 - 10:39 #15
Ovenstående formel giver godt nok adressen på ark 2 men den tager ikke hensyb til hvad der er indtastet i ark 1, så vidt jeg kan se
Avatar billede bak Forsker
18. maj 2003 - 10:47 #16
Det er kun et spm om at ændre sammenlign til 

=ADRESSE(RÆKKE(data)+SAMMENLIGN(Ark1!A2;data;0)-1;KOLONNE(data))
Avatar billede svaage Nybegynder
18. maj 2003 - 11:13 #17
formlen virker fint, hvis man skal hente oplysninger i kolonne 1, men det kan godt være jeg ikke har udtrykt mig korrekt, adressen jeg ønsker kommer ikke på noget tidspunkt fra kolonne 1. Kan man lave formlen så den kommer med adressen uanset hvor i arket den finder et match.
Avatar billede bak Forsker
18. maj 2003 - 12:22 #18
Nej, så kan man ikke bruge formlen, men er nok nødt til at bruge en makroformel.
Brug Kabbak's kode eller denne funktion
=Find_It(Data, A2)  hvor data er hele dit dataomr på ark2 og A2 er hvad du søger efter.

Placer denne funktion i et alm. modul

Public Function Find_It(rng As Range, LookFor) As Variant
Find_It = rng.Find(what:=LookFor, LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Address
End Function
Avatar billede svaage Nybegynder
18. maj 2003 - 12:36 #19
hvordan kalder jeg din funktion fra en celle
Avatar billede svaage Nybegynder
18. maj 2003 - 12:38 #20
undskyld jeg havde åbenbart ikke fået læst hele teksten, det er ikke sådan når det går så stærkt
Avatar billede svaage Nybegynder
18. maj 2003 - 12:52 #21
jeg har prøvet med din kode, den kommer med en fejl " named argument not found " i debuggeren i VBA.
Hvad er der galt ??
Avatar billede bak Forsker
18. maj 2003 - 13:20 #22
Det tror jeg, at jeg har en løsning på.
Det skyldes at jeg bruger XP, og derved kommer der nogle argumenter med Find, som du ikke kan bruge i xl2000 / xl97
Prøv det her istedet:

Public Function Find_It(rng As Range, LookFor) As Variant
Find_It = rng.Find(what:=LookFor, LookIn:=xlValues, LookAt:=xlWhole).Address
End Function
Avatar billede svaage Nybegynder
18. maj 2003 - 13:29 #23
=Find_It(Data1, I21)

denne formel skriver jeg i mit excelark ( mit datomr hedder data1 ( går fra c1:cc60) og I21 min celle med det jeg søger efter og svaret på dette er #VÆRDI!-fejl

Hvad kan der være galt, er det mit dataområde der er for stort eller hvad ????
Avatar billede bak Forsker
18. maj 2003 - 13:34 #24
Nej dataområdet er ikke for stort (har lige testet).
Fejlen kommer når den i Data1 IKKE kan finde det der står i I21
Husk at der er forskel på tal og tal formateret som tekst
Avatar billede bak Forsker
18. maj 2003 - 13:36 #25
Prøv evt. at sende arket, eller et udsnit af det, så skal jeg teste det.
Avatar billede kabbak Professor
18. maj 2003 - 13:39 #26
Brug makroen den er ligeglad med om det er tal eller tekst og om det søgte ikke eksisterer.

Men jeg følger spændt bak's funktioner og formler, for jeg opgav formler, nok mest fordi jeg ikke kunne genemskue opbygningen.
Avatar billede svaage Nybegynder
18. maj 2003 - 13:51 #27
ark afsendt
Avatar billede svaage Nybegynder
18. maj 2003 - 13:53 #28
det kommer godt nok fra en anden mail adresse ( markvard@andersen.mail.dk )
Avatar billede svaage Nybegynder
18. maj 2003 - 15:02 #29
fil modtaget, kigger på den senere i dag, har lige et ærinde
Avatar billede kabbak Professor
18. maj 2003 - 15:03 #30
mit bud på en funktion

Public Function Find_Adresse(Omrade As Range, Find_hvad) As Variant
For Each c In Omrade
    If c = Find_hvad Then
      Find_Adresse = c.Address
    GoTo slut
    End If
Next
slut:
End Function
Avatar billede kabbak Professor
18. maj 2003 - 15:55 #31
Sidste bud ;o)

Public Function Find_Adresse(Omrade As Range, Find_hvad) As Variant
a = 0
For Each C In Omrade
If C = Find_hvad Then
a = a + 1
Find_Adresse = C.Address
If a > 1 Then
  Find_Adresse = "Der er flere"
  GoTo Slut
  Else
End If
End If
Next
Slut:
End Function
Avatar billede svaage Nybegynder
20. maj 2003 - 22:05 #32
først tak for hjælpen til jer begge, kabbak din anden sidste formel virker efter hensigten. Jeg ville gerne have givet point itl jer begge, men Bak har ikke afgivet noget svar, så det har jeg ikke mulighed for lige nu, medmindre Bak afgiver et svar, så I kan dele point, da I begge har gjort en stor indsats for at hjælpe mig.
Avatar billede bak Forsker
23. maj 2003 - 14:25 #33
kabbak fortjener alle points da han har leveret et korrekt svar.
Jeg har chekket mit svar og fundet ud af at den funktion jeg har lavet kun kan laves/bruges i XP.
Hvis jeg prøver det samme i xl2000, går det galt. Denne version accepterer ikke Find i en funktion, kun i en sub.
Avatar billede svaage Nybegynder
25. maj 2003 - 20:34 #34
Tak for hjælpen endnu engang, point til kabbak
hilse Sv@@ge
Avatar billede kabbak Professor
25. maj 2003 - 20:37 #35
tah for pointz

Hilsen Holger
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