Avatar billede qln Juniormester
02. februar 2006 - 11:16 Der er 10 kommentarer og
1 løsning

Kørsel af makro på flere ark

Jeg har følgende makro:
For i = 2 To 200
                Set curCell = ActiveSheet.Cells(i, 12)
                If (curCell.Value <> "") Then
                    ActiveSheet.Cells(i, 2).Select
                    With Selection.Interior
                        .ColorIndex = 7
                        .Pattern = xlSolid
                    End With
                End If
        Next

Denne makro vil jeg gerne køre på alle sheets i min workbook undtagen sheet1 og sheet2.
Hvad gør jeg?
Avatar billede supertekst Ekspert
02. februar 2006 - 11:51 #1
Sub start()
    For Each sh In ActiveWorkbook.Sheets
        shnavn = LCase(sh.Name)
       
        If InStr("sheet1sheet2", shnavn) = 0 Then
            ActiveWorkbook.Sheets(shnavn).Activate
            For i = 2 To 200
                Set curCell = ActiveSheet.Cells(i, 12)
                If (curCell.Value <> "") Then
                    ActiveSheet.Cells(i, 2).Select
                    With Selection.Interior
                        .ColorIndex = 7
                        .Pattern = xlSolid
                    End With
                End If
            Next
        End If
    Next
End Sub
Avatar billede qln Juniormester
02. februar 2006 - 13:03 #2
Jeg kan ikke få makroen til at fungere.
Det eneste den gør, er at køre min For løkke på det ark, som man står i.
Avatar billede supertekst Ekspert
02. februar 2006 - 13:09 #3
Har prøvet med 6 ark - hvoraf 2 navnte sheet1 & 2 - virkede perfekt

Hvor har du lagt den tilsendte kode ind - ThisWorkbook?
Avatar billede qln Juniormester
02. februar 2006 - 13:10 #4
Sorry, det fungerer fint
Avatar billede supertekst Ekspert
02. februar 2006 - 13:19 #5
OK & tak!
Avatar billede qln Juniormester
02. februar 2006 - 13:23 #6
Er du sikker på, at makroen ikke køres på sheet1 og sheet2.
Jeg kan ikke få det til at fungere.
Avatar billede qln Juniormester
02. februar 2006 - 13:54 #7
Undskyld igen.
Havde ikke lige set det med lower case
Avatar billede qln Juniormester
02. februar 2006 - 13:59 #8
Af ren nysgerrighed: Hvordan kan Excel holde styr på arkene, når man skriver dem ud i en køre uden nogen seperering?
Avatar billede supertekst Ekspert
02. februar 2006 - 14:33 #9
For Each sh In ActiveWorkbook.Sheets

I denne sætning gennemløbes alle ark i den pågældende workbook
sh repræsentere det aktuelle ark og det er det der testes og hvisdet ikke er Sheet1 eller 2 gennemløbes for-løkken i = 2 to 200
Avatar billede bak Forsker
02. februar 2006 - 19:27 #10
Supertekst -> smart ide :-)
If InStr("sheet1sheet2", shnavn) = 0 Then
Avatar billede supertekst Ekspert
04. februar 2006 - 14:39 #11
->Bak - tak for det
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