Avatar billede densortehingst Seniormester
26. februar 2020 - 14:43 Der er 3 kommentarer og
1 løsning

Udvidelse

Jeg har følgende stykke kode i excel:

For x = 1 To 5000
' LastRow
    If Worksheets("klodser").Cells(x, 5) = Range("a2") Then
        Cells(y, 1) = Worksheets("Klodser").Cells(x, 7)
        Cells(y, 2) = Worksheets("Klodser").Cells(x, 12)
        Cells(y, 3) = Worksheets("Klodser").Cells(x, 8)
        Cells(y, 4) = Worksheets("Klodser").Cells(x, 9)
        Cells(y, 5) = Worksheets("Klodser").Cells(x, 10)
        Cells(y, 6) = Worksheets("Klodser").Cells(x, 11)
        Cells(y, 7).Select
        ActiveSheet.Hyperlinks.Add ActiveCell, "", Sheets("Klodser").Name & "!A" & x
        Set MyCell = Cells(y, 8)
        With MyCell
            Set btn = ActiveSheet.Buttons.Add(.Left, .Top, .Width, .Height)
        End With
        With btn
            .Caption = "Slet"
            .Name = "Button" & x
            .OnAction = "DeleteData"
        End With
        y = y + 1
    End If
Next

den løber arket"klodser" igennem og de linier, hvor der er match med celle a2 vælges...

det virker fint.
Nu kunne jeg godt tænke mig, at den bagefter (i en ny if sætning) gennemgik regneark EXCEL1.klodser og så om der var match.
På den måde får jeg ikke et mega regneark men flere små. Men hvad skal den første linie hedde?

If excel1.Worksheets("klodser").Cells(x, 5) = Range("a2") Then  ????

pft
Avatar billede Jan K Ekspert
26. februar 2020 - 16:45 #1
Prøv med

If Workbooks("excel1.xlsx").Worksheets("klodser").Cells(x, 5) = Range("a2") Then
Avatar billede densortehingst Seniormester
27. februar 2020 - 08:48 #2
Det virker næsten efter hensigten.
Spørgsmåler er bare om jeg kan gøre det på et ikke åbent regneark.
Altså kan jeg fra regneark 1 kalde regneark2, regneark3 etc uden at disse er åbne? Det er regneark med billeder i, så størrelsen er 75MB++ og det er excel ikke glad for :)
Avatar billede Jan K Ekspert
27. februar 2020 - 09:24 #3
Så skal du have stien med, fx

"C:\Users\Jan\Excelfiler\".workbooks("excel1.xlsx").Worksheets("klodser").Cells(x, 5) = Range("a2").
Avatar billede densortehingst Seniormester
10. marts 2020 - 13:58 #4
Selvfølgelig :) Tak Jan
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