INDIREKTE() er en mulighed, men ved større regnearksfiler, har funktionen en kedelig tendens til at gøre regnearkene tunge og langsomme... ...og, det tyder på, at du har ganske store regneark (> 50 ark i filen).
Grundideen fra #1 er god nok: Lav en reference celle, og arbejd ud fra denne... ...men, benyt FORSKYDNING() i stedet, til at læse de rette celler - meget, meget hurtigere (og, efter min mening, langt lettere, at forstå og rette i, hvis det skulle vise sig nødvendigt).
max_rk = 1000 '<-- OBS !!! Ret til maksimal antal rækker der skal slås op i
Dim sh As Worksheet Application.Volatile
For Each sh In ThisWorkbook.Sheets If sh.Name <> "Ark1" Then '<-- OBS !!! Ret "Ark1" til første ark-navn If Application.CountIf(sh.Range("D1:D" & max_rk), værdi) > 0 Then testE4 = sh.Cells(sh.Range("D1:D" & max_rk).Find(værdi, LookIn:=xlValues).Row, "E") Exit Function End If End If Next
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.