Avatar billede cwc Nybegynder
27. juni 2005 - 14:46 Der er 14 kommentarer og
1 løsning

Kan man lave en FOR-NEXT der gennemser alle ark i et regneark ?

Kan man lave en FOR-NEXT der gennemser alle ark i et regneark ?
Avatar billede b_hansen Novice
27. juni 2005 - 14:48 #1
Jeg bruger ganske vist ikke en FOR-NEXT løkke, men denne her virker osse efter hensigten:

Sub Beskyt_ark()
With ActiveWorkbook
    For Each ws In ActiveWorkbook.Worksheets
        ActiveWorkbook.Sheets(ws.Name).Protect Password:="xxx"
    Next
End With
End Sub
Avatar billede b_hansen Novice
27. juni 2005 - 14:51 #2
Kors, hvor jeg dog vrøvler..... det er da netop en FOR-NEXT løkke *SS*
Avatar billede sjap Praktikant
27. juni 2005 - 14:53 #3
;0)  Sådan går det jo af og til.


b_hansen > Kunne du ikke nøjes med nedenstående?

Sub Beskyt_ark()

    For Each ws In ActiveWorkbook.Worksheets
        ActiveWorkbook.Sheets(ws.Name).Protect Password:="xxx"
    Next

End Sub
Avatar billede b_hansen Novice
27. juni 2005 - 14:55 #4
sjap> Som udgangspunkt jo. Men i mit tilfælde, har lagt makroen i en generel makrofil, mens den skal virke på den aktive fil.
Avatar billede sjap Praktikant
27. juni 2005 - 14:55 #5
eller alternativt:

Sub Beskyt_ark()
With ActiveWorkbook
    For Each ws In .Worksheets
        .Sheets(ws.Name).Protect Password:="xxx"
    Next
End With
End Sub
Avatar billede b_hansen Novice
27. juni 2005 - 14:57 #6
sjap> Jeg bøjer mig gerne. Jeg er ikke den helt store haj udi vba, så jeg fusker mig frem til nogle løsninger. Og ofte får jeg dem så ikke optimeret bagefter *G*
Avatar billede sjap Praktikant
27. juni 2005 - 14:59 #7
b_hansen > Jeg er absolut heller ingen haj, og fusker også gerne. Det sker tit, at nogen her på stedet "trimmer" min kode, og det er jo rart - og nogen gange også overraskende (for mig) :0)
Avatar billede b_hansen Novice
27. juni 2005 - 15:00 #8
Igen er jeg nødt til at være enig *S* Det er jo den slags input, man lærer af.
Avatar billede cwc Nybegynder
27. juni 2005 - 15:02 #9
Når jeg så skal checke data i hvert ark i celle(1,1), hvordan gør jeg så ?
Normalt ville jeg skrive Ark1.cells(1,1)
Avatar billede sjap Praktikant
27. juni 2005 - 15:05 #10
Så må det vist være

ActiveWorkbook.Sheets(ws.Name).Cells(1,1)
Avatar billede b_hansen Novice
27. juni 2005 - 15:05 #11
Nu skyder jeg godt nok fra hoften, men mit bud ville være
.Sheets(ws.Name).Cells(1,1)
Avatar billede cwc Nybegynder
27. juni 2005 - 15:24 #12
Nu virker det næsten, linien "Ark1.Cells(Row, 1) = Mid(Cells(1, 2), 1, 5)" danner en fejl ???

Sub Beskyt_ark()
    With ActiveWorkbook
        Row = 3
        For Each ws In ActiveWorkbook.Worksheets
            Row = Row + 1
            If ws.Name <> "All Products" Then
                Sheets(ws.Name).Select
                Ark1.Cells(Row, 1) = Cells(1, 2)
            End If
        Next
    End With
End Sub
Avatar billede sjap Praktikant
27. juni 2005 - 15:29 #13
Hvad er Ark1?

Mener du Sheets("Ark1")?

dvs.

Sheets("Ark1").Cells(Row, 1) = Mid(Cells(1, 2), 1, 5)"
Avatar billede b_hansen Novice
29. juni 2005 - 12:47 #14
cwc> er du kommet videre?
Avatar billede cwc Nybegynder
29. juni 2005 - 13:35 #15
Jeps - alt virker perfekt !!!
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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