Avatar billede cvl Nybegynder
01. december 2004 - 13:44 Der er 32 kommentarer og
1 løsning

en formel, som søger efter et navn, fra en celle, i flere ark.

Det drejer sig om følgende problemstilling.

Jeg har et regneark med flere ark ca. 60 stk.

Problemet er at jeg vil lave et ark for sig selv, hvori nogle bestemte værdier fra de resterende ark samles op.

Jeg har forsøgt med en kombineret HVIS og SLÅOP funktion, men jeg kan ikke få den til at søge i et bestemt ark, med et navn som jeg skriver i en celle på det ekstra ark.

Håber der er en som kan hjælpe mig

Mvh. CVL
Avatar billede x-lars Novice
01. december 2004 - 16:41 #1
Har du prøvet LOPSLAG-funktionen?
Avatar billede cvl Nybegynder
01. december 2004 - 17:12 #2
Hvordan virker den ???
Avatar billede cvl Nybegynder
01. december 2004 - 17:14 #3
Det kan jeg ikke få til at virke
Avatar billede cvl Nybegynder
01. december 2004 - 17:29 #4
Det jeg gerne vil have er at få maskinen til at søge efter et ark navn som der står i et bestemt felt
Avatar billede kabbak Professor
01. december 2004 - 19:18 #5
denne makro lavede jeg engang, den er måske overdrevet, men søge i ark kan den.
Lav et ark der hedder forside.

den skal i et modul

så kan i selv lege videre med den.

Sub FindOrd()
Dim Fundet(300, 5) As String, Sted(300) As String, Søg As Variant, I As Integer, T As Integer
Dim R As Integer, Side(300) As String
I = 1
On Error Resume Next
Range("D1").Select
  Sheets("Forside").AutoFilterMode = False
  Sheets("Forside").Select
  Range("B2:I301").Select            ' sletter alle data i området til hyperlink
    Selection.ClearContents
    Range("a2").Select
    Søg = InputBox("Skriv søgestrengen på hvad der skal Findes", "Find tekst eller værdi")
Application.ScreenUpdating = False
    For Each ws In Worksheets
If ws.Name <> "Forside" Then ' skift selv navnet på forsiden
      Sheets(ws.Name).Select
      Range("A1:H500").Select 'området den søger på ret det selv til
      Selection.Find(What:=Søg, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False).Activate
        If Err.Number = 91 Then
          Err.Clear
        GoTo Videre
        End If
        a = ActiveCell.Row
        If a = 1 Then GoTo Videre
        b = ActiveCell.Column
        Cells(a, b).Activate
        Side(I) = ws.Name
        Sted(I) = "'" & ws.Name & "'!" & ActiveCell.Address
        For T = 1 To 5
        Fundet(I, T) = Sheets(ws.Name).Cells(a, T).Value
        Next
          If I > 1 Then
        For T = 1 To I - 1
          If Sted(I) = Sted(T) Then
          GoTo Videre
        End If
        Next
      End If
      I = I + 1
    Do
      Cells.FindNext(After:=ActiveCell).Activate
        If Err.Number = 91 Then
        Err.Clear
        GoTo Videre
        End If
        a = ActiveCell.Row
          If a = 1 Then GoTo Videre
        b = ActiveCell.Column
        Cells(a, b).Activate
        Side(I) = ws.Name
        Sted(I) = "'" & ws.Name & "'!" & ActiveCell.Address
        For T = 1 To 5
        Fundet(I, T) = Sheets(ws.Name).Cells(a, T).Value
        Next
      If I > 1 Then
        For T = 1 To I - 1
        If Sted(I) = Sted(T) Then
                GoTo Videre
          End If
        Next
      End If
     
      I = I + 1
  Loop
End If
Videre:
Next
Slut:
  Sheets("Forside").Select
  Application.ScreenUpdating = True
  For T = 1 To I - 1
    Worksheets("forside").Range("B2:F101").Cells(T, 1).Select
    For R = 1 To 5
      ActiveCell.Offset(0, R) = Fundet(T, R)
    Next
      ActiveCell.Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=Sted(T)
        ActiveCell.FormulaR1C1 = Side(T) ' skriver hyperlink på alle fundne steder
      Next
    Range("D7").Select
      Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("D2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
          Range("C2").Select
    If I = 1 Then
      MsgBox " ingen fundet"
      End If
    Range("D1").Select
    Selection.AutoFilter
End Sub
Avatar billede cvl Nybegynder
01. december 2004 - 20:06 #6
Det lyder lidt voldsomt, kan den finde et ark ud fra et navn som står i en celle, istedet for at skrive 'ARK'! kan den så finde et ark udfra f.eks værdien i celle A100 ?
Avatar billede kabbak Professor
01. december 2004 - 20:21 #7
ja
Avatar billede kabbak Professor
01. december 2004 - 20:22 #8
forstået på den måde at du skal kende værdien, så finder den cellen med den.
Avatar billede kabbak Professor
01. december 2004 - 20:36 #9
De værdier du får ved søhningen er:

Findested A kol    B Kol    C kol    D kol    E kol    F Kol    G Kol


Findested i A kolonnen (hyperlink)

de andre er finderækken fra A til G kolonnen
Avatar billede cvl Nybegynder
01. december 2004 - 21:19 #10
dvs. at hvis jeg nu skriver K001 i felt A65 og i A66 skriver en formel som skal finde et ark med navnet K001 og i det ark tage værdien i et bestemt felt og oplyse det i felt A66. Det kan lade sig gøre med ovenstående makro. det er ikke en eller anden funktion i excel jeg kan benytte ?
Avatar billede kabbak Professor
01. december 2004 - 21:25 #11
=INDIREKTE(A65 &"!"&A66)
Avatar billede kabbak Professor
01. december 2004 - 21:26 #12
A65 = navn på ark
A66 = navn på celle
Avatar billede bak Forsker
01. december 2004 - 21:26 #13
=INDIREKTE(A65 & "!A66")
Det burde være nok
Hvis du også skal hente cellen fra en anden celle fx B65
=INDIREKTE(A65 & "!" & B65)
Avatar billede bak Forsker
01. december 2004 - 21:26 #14
*langsom*
Avatar billede kabbak Professor
01. december 2004 - 21:29 #15
Du kan også I A65 skrive K001!A6

hvis det er ark K001 og cellen er A6 di skal have værdien fra
så skal du skrive =INDIREKTE(A65 ) i A66
Avatar billede cvl Nybegynder
02. december 2004 - 08:48 #16
det er ikke helt det jeg gerne vil.

Nu skal jeg se om jeg kan forklar det lidt bedre.
Min ide er følgende:
=HVIS($A6="";"";SLÅ.OP($A6;'K001'!$A$100;'K001'!B$100))

I A6 står der K001, så er problemet at jeg gerne vil have at jeg kun skal skrive K001 i felt A6, og så skal formlen selv finde ud af at det er 'KOO1' arket som den skal søge i felt A100 og give værdien i B100.

Hvis jeg prøver at henvise til 'A6'! istedet for 'K001'! søger den efter et filnavn
istedet for et ark.

Håber at det er lidt bedre forklaret
Avatar billede cvl Nybegynder
03. december 2004 - 10:53 #17
Kan det ikke lade sig gøre at lave en reference til et ark udfra værdien i et felt.

F.eks: i felt A3 står der TEST og i felt B3 er der en formel som skal hente et område fra underarket med navnet TEST.

Hvis jeg så ændre teksten i A3 til HEJ, så skal formlen i B3 selv registrere at nu skal den over på underark HEJ for at hente et område

Hilsen CVL
Avatar billede tobler Nybegynder
03. december 2004 - 11:08 #18
Prøv med følgende i B3: =SUM(INDIRECT(A3&"!b100")) eller på dansk =SUM(INDIREKT(A3&"!b100"))
Avatar billede cvl Nybegynder
03. december 2004 - 11:31 #19
Til tobler

Kan det lade sig gøre hvis man kopiere formlen i B3 til C3 at "!b100" bliver til "!c100" ???
Avatar billede cvl Nybegynder
03. december 2004 - 11:52 #20
Til tobler

Hvis der i felt A3 står et f.eks 1.6-U-1 så kommer der følgende i felt B3 #REFERENCE! hvad er kan problemet være ???
Avatar billede tobler Nybegynder
03. december 2004 - 12:24 #21
"!b100" bliver til "!c100" ??? er du nødt til at rette manuelt, der findes måske en løsning med CELL/CELLE.

1.6-U-1 er lidt mere kryptisk, normalt ville man sætte ' ' omkring, men det virker ikke med indirekt.
Avatar billede cvl Nybegynder
03. december 2004 - 14:54 #22
Er der nogen som kan hjælpe med at løse det kryptiske problem som står lige her over ???
Avatar billede kabbak Professor
03. december 2004 - 15:01 #23
SUM(INDIRECT("'" & A3 & "'!b100")) eller på dansk =SUM(INDIREKT("'" &A3&"'!b100"))
Avatar billede tobler Nybegynder
03. december 2004 - 15:07 #24
--> kabbak, Tak, så lærte jeg også noget idag.
Avatar billede cvl Nybegynder
03. december 2004 - 15:20 #25
--> kabbak, nu er den næsten ved at være der. Kan du også løse det problem, med at når jeg kopier den vandret ændre "!b100" sig ikke til "!c100" ???
Avatar billede cvl Nybegynder
03. december 2004 - 16:50 #26
Okay, så skal der uddeles point, jeg må sige at tobler skal have nogle for det var ham der kom med idén om at bruge indirekte(), så skal kabbak også have nogle for han fik den til at virke helt efter planen. Men hvad er nu rimeligt hvordan skal de fordeles. Hvad siger I TOBLER og KABBAK ?
Avatar billede kabbak Professor
03. december 2004 - 23:54 #27
SUM(INDIRECT("'" & A3 & "'!" & $b100)) eller på dansk =SUM(INDIREKT("'" &A3& "'!" & $b100))
Avatar billede cvl Nybegynder
04. december 2004 - 13:09 #28
Tak for hjælpen, det er kanon
Avatar billede cvl Nybegynder
04. december 2004 - 13:17 #29
--> kabbak det sidste virker ikke helt, jeg får en #REFERENCE! fejl. hvad kan fejlen være ???
Avatar billede kabbak Professor
04. december 2004 - 16:17 #30
SUM(INDIRECT("'" & A3 & "'!$b100")) eller på dansk =SUM(INDIREKT("'" &A3& "'!$b100"))
Avatar billede kabbak Professor
04. december 2004 - 16:34 #31
> TOBLER
Jeg filk alle points, vil du ikke have nogen ?
Avatar billede tobler Nybegynder
06. december 2004 - 14:34 #32
--> kabbak, var smuttet på weekend da pointdelingen blev foreslået, men har leget videre, så tror du jeg kan skore noget på denne:

=INDIRECT(ADDRESS(100;CELL("col";B1);;;"" & $A6 & "")) på dansk: =INDIREKT(ADRESSE(100;CELLE("col";B1);;;"" & $A6 & "")) er lidt i tvivl om "col" skal oversættes.

den kopieres i celle B3, derefter skulle den kunne kopieres til C3 og hente værdien fra C100 i arket som der refereres til i A6.
Dette skulle løse indlæg fra cvl :03/12-2004 15:20:01
Avatar billede tobler Nybegynder
16. december 2004 - 12:49 #33
--> cvl, hvad siger du til det sidste forslag?
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