Avatar billede lunddata Nybegynder
24. oktober 2007 - 20:30 Der er 10 kommentarer og
1 løsning

Makro virker ikke på hjemmeside

Kan nogen give mig svar på hvorfor følgende makro virker fint når et regneark er gemt på en lokal diskenhed, men ikke når den kører fra hjemmeside.
Arket "Optælling" findes på www.sysform.dk på forsiden.
Jeg skal bemærke at jeg lader arket fra hjemmesiden tillade at køre med makroer.
Følgende makro bruges til at generere nye opgaver:
Sub TilfældigFarve()
If [ca1] = "0" Then
Application.ScreenUpdating = False
Range("Ah16:Aq27").Copy Destination:=Range("a11:j22")
Range("Ak12:Az39").Copy Destination:=Range("k12:z39")
[ab12] = 0
[ab13] = 0
[ab14] = 0
[ab15] = 0
Randomize
x = Int(Rnd() * 5 + 1)
For r = 1 To x
For k = 1 To 5
Sheets("Fasit").Cells(r + 11, k + 5).Interior.ColorIndex = Int(Rnd() * 4 + 3)
Next
Next

'--- Slet eller Remark koden herunder hvis du foretrækker at anvende Functionen -------------------
'Sheets("Fasit").Range("AB12:AB15") = ""
For Each c In Sheets("Fasit").Range("F12:J16")
If c.Interior.ColorIndex = 3 Then Sheets("Fasit").Range("AB12") = Sheets("Fasit").Range("AB12") + 1
If c.Interior.ColorIndex = 4 Then Sheets("Fasit").Range("AB13") = Sheets("Fasit").Range("AB13") + 1
If c.Interior.ColorIndex = 5 Then Sheets("Fasit").Range("AB14") = Sheets("Fasit").Range("AB14") + 1
If c.Interior.ColorIndex = 6 Then Sheets("Fasit").Range("AB15") = Sheets("Fasit").Range("AB15") + 1
Next
'------ slet her til -------------------------------------------------------------------------------

Sheets("Fasit").Range("F12:J" & x + 11).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  With Selection.Borders(xlEdgeLeft)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeTop)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeBottom)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlEdgeRight)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
  With Selection.Borders(xlInsideVertical)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
If x = 1 Then GoTo om
  With Selection.Borders(xlInsideHorizontal)
  .LineStyle = xlContinuous
  .Weight = xlThin
  .ColorIndex = xlAutomatic
  End With
  Range("A1").Select
GoTo slut
om:
    Range("F13:J13").Select
    Selection.Clear
    Range("F12:J12").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    Range("A1").Select
slut:
Sheets("Fasit").Range("F12:J16").Copy Sheets("Fasit").Range("F12")
Sheets("Fasit").Range("AF12").Calculate
Application.ScreenUpdating = True
If r = 2 Then
Range("f13:j13").Select
Selection.Interior.ColorIndex = 36
End If
Range("n13").Select
[ca1] = "1"
End If
End Sub
Avatar billede be_nice Juniormester
24. oktober 2007 - 20:47 #1
Hvad er det der ikke virker?

Når jeg åbner arket bliver jeg spurgt om jeg vil tillade makroer, og kan dermed vælge at tillade eller ej!

Be_Nice
Avatar billede lunddata Nybegynder
24. oktober 2007 - 21:29 #2
Uddybning:Der tælles antal af hver farve og resultatet skrives under farven,
Opgaven rettes ved at trykke på knappen RET OPGAVER. Dette virker også udmærket, men så kan man ikke komme videre med NY OPGAVE, idet der ikke genereres nye tal (ihvertfald ikke sådan at det er synligt med nye farvede felter).
Avatar billede be_nice Juniormester
24. oktober 2007 - 21:43 #3
OK - så fik jeg det med.

Nej, jeg kan godt se at der ikke umiddelbart sker nogen opdatering - MEN, hvis du tykker på NY OPGAVE og derefter F5 og ANNULLER, så opdaterer skærmen faktisk!

Derfor tror jeg at du via de-aktivering og re-aktivering med ScreenUpdating generer en "fejl" der gør at det ikke virker online. Prøv at fjerne din ScreenUpdating og se hvad der så sker.

Be_Nice
Avatar billede lunddata Nybegynder
24. oktober 2007 - 22:20 #4
Har nu uploadet arket hvor jeg har fjernet 9. sidste linie i makroen Application.ScreenUpdating = True
Virker stadigvæk ikke.
Jeg kan godt se at makroen kører hvis be nices anvisninger følges.
Avatar billede lunddata Nybegynder
24. oktober 2007 - 22:30 #5
Det jeg mener er at makroen virker med tryk på NY OPGAVE og derefter F5 og ANNULLER, så opdaterer skærmen faktisk!
... men ikke ved at fjerne Application.ScreenUpdating = True
Avatar billede lunddata Nybegynder
24. oktober 2007 - 22:54 #6
Har også fjernet 3. linie i makroen
Application.ScreenUpdating = True
... men dette hjælper heller ikke
Avatar billede be_nice Juniormester
25. oktober 2007 - 06:58 #7
En tanke >> Prøv at indsætte F5 og ANNULLER funktionen direkte i slutningen af din makro der genererer NY OPGAVE.

Det er måske ikke så fikst, men hvis det virker så er det vel underordnet - jeg har ikke lige et andet bud på på hvorfor Excel ikke vil opdatere "on-line" (måske en fejl i Explorer?)

Be_Nice
Avatar billede lunddata Nybegynder
25. oktober 2007 - 07:54 #8
... hvordan er det nu lige F5 og ANNULLER funktionen ser ud i makroen?
Avatar billede lunddata Nybegynder
25. oktober 2007 - 08:00 #9
Er lige mødt på arbejde. På min arbejdscomputer virker forslaget med at fjerne Application.ScreenUpdating = True, således at makroen kører perfekt. Underligt. Måske har du ret i at fejlen ligger i Explorer, men det vil nok være smart at få F% og ANNULLER funktionen indarbejdet under alle omstændigheder,
Avatar billede lunddata Nybegynder
25. oktober 2007 - 15:22 #10
Lige kommet hjem fra arbejde.
Nu virker skidtet også på min hjemmecomputer, så alt er i bedste orden.
Så løsningen med at fjerne Application.ScreenUpdating = True er bare super.
Et svar..
Avatar billede be_nice Juniormester
25. oktober 2007 - 17:35 #11
Det kan have været noget cache-refresh på din hjemme-PC - godt at høre at det virker, og at min fejlsøgning gav det rigtige resultat.

Tak for point :o)

Be_Nice
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