Avatar billede lisette Praktikant
18. januar 2005 - 13:29 Der er 4 kommentarer og
1 løsning

Ignorerer activate-kommando

Hej med jer!

Jeg arbejder med 2 excel-ark (excel 2000). Jeg sætte nogle data fra ark A ind på ark B. Så markerer jeg et område i ark A og farvelægger det med gråt:

Range("A1:AM55").Select
With Selection.Interior
  .ColorIndex = 15
  .Pattern = xlSolid
End With

Herefter gemmer og lukker jeg ark A - ark A har en makro, som kører ved gem, som beregner en masse tal på et udvalg af fanerne - og her sker fejlen. Det ser sådan ud:

Ark = Worksheets.Count

For i = 1 To Ark
strArk = Worksheets(i).Name
Worksheets(strArk).Activate
Range("A1").Select
ActiveSheet.Unprotect
If Worksheets(i).Name > 90000# And Worksheets(i).Name < 135000000000# Then

    Range("D23:N30").Value = 0
    Range("S22:S34").Value = 0

   
Der sker blot det at den aldrig aktiverer de faner, som jeg beder om her, men beholder det range, som jeg selectede tidligere - og derfor nulstiller på den forkerte fane!

Er der nogen der kan fortælle mig, hvad der går galt? Hvorfor ignorerer den, at jeg beder den aktivere de andre faner???

Jeg glæder mig til at høre fra jer !!!
Avatar billede Slettet bruger
18. januar 2005 - 14:30 #1
I din sammenligning check du om Worksheet.Name ALFABETISK ligger mellem de to strenge
"90000#" og "135000000000#". Er det meningen ?

Prøv også med:
-----------
For i = 1 To Ark
    With Worksheets(i)
        .Unprotect
        If .Name > 90000# And .Name < 135000000000# Then
            Range("D23:N30").Value = 0
            Range("S22:S34").Value = 0

---------------

Skal makroen bare slette indholdet af nogle felter ?
Avatar billede lisette Praktikant
18. januar 2005 - 14:36 #2
Jep - det er meningen at den skal tjekke arkene alfabetisk og det virker upåklageligt!

Den kommer rigtig nok ind i if-sætningen, som den skal, men den aktiverer ikke arket "i", men bliver på det tidligere aktiverede - altså det allerførste jeg aktiverer of farvelægger.

Det er KUN et spørgsmål om at jeg på trods af kommandoen .activate og efterfølgende .select ikke får aktiveret det korrekte ark.

Der er meget meget mere i makroen, men jeg ville ikke tage det hele med!!

Det kan gøre mig helt vanvittig for det virker helt tåbeligt !!!
Avatar billede bak Forsker
18. januar 2005 - 17:32 #3
Prøv at gardere dig lidt. Sådan her sikrer du dig at du kører både i den korrekte workbook og det korrekte ark.

Ark = Thisworkbook.Worksheets.Count

For i = 1 To Ark
With ThisWorkBook.WorkSheets(i)
  .Unprotect
  strArk = .Name

  If .Name > 90000# And .Name < 135000000000# Then
 
    .Range("D23:N30").Value = 0
    .Range("S22:S34").Value = 0



End With
Avatar billede lisette Praktikant
19. januar 2005 - 09:07 #4
Hej bak

Perfekt  ;-)  Det var lige det der skulle til - mange tak for hjælpen.

Vil du ligge et svar, så jeg kan give dig point !
Avatar billede bak Forsker
19. januar 2005 - 09:18 #5
godt :-)
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