Avatar billede dane022 Seniormester
17. oktober 2013 - 14:19 Der er 2 kommentarer og
1 løsning

SAMMENLIGN - find flere forekomster

Jeg har et regneark som linker til et lukket regneark (som er usorteret). Der kan være flere forekomster af samme værdi forskellige steder i regnearket, så SAMMENLIGN formlen er ikke tilstrækkelig fordi den kun finder 1. forekomst.

Jeg har prøvet denne kode og den gør det den skal, bortset fra den ikke virker på lukkede regneark:
Function forekomster(range_look As Range, find_it As String, _
    occurrence As Long, offset_row As Long, offset_col As Long)
Dim lCount As Long
Dim rFound As Range

Set rFound = range_look.Cells(1, 1)
        For lCount = 1 To occurrence
            Set rFound = range_look.Find(find_it, rFound, xlValues, xlWhole)
        Next lCount
forekomster = rFound.Offset(offset_row, offset_col)
End Function

Kan jeg gøre noget for at det skal virke på lukkede regneark?
17. oktober 2013 - 17:51 #1
Hvis du skal afvikle VBA kode på indholdet af et Excel regneark, så skal du have filen åben. Du kan åbne filen med VBA og slukke for skærmopdateringen imens, således vil filen være "usynlig"

Application.ScreenUpdating = False
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:=Text.xlsx, ReadOnly:=True)

'lave din forekomster rutine
'wb er den åbne workbook, så arbejd med wb.worksheets("et navn").Range

Application.ScreenUpdating = True
Avatar billede dane022 Seniormester
17. oktober 2013 - 22:36 #2
Det ser godt ud. Jeg er ikke ekspert og nu ser min kode sådan ud. Den virker, men kan sikkert gøres bedre:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wb As Workbook
Dim wb2 As Workbook
On Error Resume Next

Application.ScreenUpdating = False
Set wb = ActiveWorkbook
Set wb2 = Workbooks.Open(Filename:="c:\løndata.xlsx", ReadOnly:=True)
wb.Activate
'handling
wb2.Close

slut:
Application.ScreenUpdating = True
End Sub
17. oktober 2013 - 23:34 #3
Det ser ganske fornuftigt ud, god fornøjelse
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