17. maj 2003 - 21:06Der 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 ?
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")
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
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
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
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.
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
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
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 ????
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
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
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
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.
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.
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.