Avatar billede spoi Nybegynder
30. april 2007 - 14:10 Der er 4 kommentarer og
1 løsning

hjælp til finpusning af makro - blinker en del

Er der nogle der vil hjælpe med at minimere mine blink ;O) Hopper lidt frem og tilbage. Har forsøgt lidt men så fungerer det ikke optimalt. Forslag?

Rem denne aktiveres ved ny kunde og henter instruktion, label og OBS+nyheder
Private Sub CommandButton1_Click()
Dim kundenr, batch
fil = "\\sti\" '& [F6] & "v.xls" 'benyttes kun i produktion
fil_obs = "\\sti\Dagens_tip_OBS.xls" ' benyttes kun i prod

ActiveSheet.Unprotect Password:="kode" 'låser startsiden op
       
        ActiveWorkbook.Sheets("startside").Cells(6, 6).Value = UserForm1.TextBox1.Value 'indsætter kundenummer i F6
        kundefil = fil & [F6] & "v.xls"

Sheets("pakkeinstruktion").Unprotect Password:="kode" 'låser pakkeinstruktionarket op

Sheets("pakkeinstruktion").UsedRange.ClearContents 'sletter data i arket pakkeinstruktioner
For Each pic In Sheets("pakkeinstruktion").Shapes    ' sletter label i arket pakkeinstruktioner
        If pic.Type = 13 Then
      pic.Delete
          End If
    Next
'ActiveSheet.Protect Password:="kode"
        If Dir(kundefil) = "" Then    'fejlmeddelse hvis der ikke findes en pakkeinstruktion med det indtastede nummer
        MsgBox ("Du har tastet et kundenummer, der ikke eksisterer")
        ActiveSheet.Cells(9, 2) = ""
        UserForm1.TextBox1.Value = ""
        ActiveSheet.Cells(6, 6) = ""
        Sheets("pakkeinstruktion").Protect Password:="kode"
        UserForm1.TextBox1.SetFocus
       
       
        Exit Sub ' går ud
      Sheets("pakkeinstruktion").Protect Password:="kode"
 
   
    Else ' hvis instruktionen findes
    Rem insaætter dagens tip og OBS til brugeren
       
       
    Workbooks.Open Filename:=fil_obs
    ActiveWorkbook.Sheets(1).Range("C2").Copy ThisWorkbook.Sheets("startside").Range("F24") 'Dagens tip indsættes
    ActiveWorkbook.Sheets(1).Range("C3").Copy ThisWorkbook.Sheets("startside").Range("F25") 'Dagens tip indsættes
    ActiveWorkbook.Sheets(1).Range("C6").Copy ThisWorkbook.Sheets("startside").Range("F27") 'OBS indsættes
    ActiveWorkbook.Sheets(1).Range("C7").Copy ThisWorkbook.Sheets("startside").Range("F28") 'OBS indsættes

    ActiveWorkbook.Close savechanges:=False
    Rem lukker dagens tip fil
   
   
   
    ActiveWorkbook.Sheets(1).Cells(9, 2) = "ok" 'skriver ok i celle b9, denne benyttes til lopslag på startsiden
 
   
    Rem sætter en kopi af pakkeinstruktionen ind på ark2
     
   
    Workbooks.Open Filename:=kundefil    ' F6 = kundenr.
   
   
    ActiveWorkbook.Sheets("NY version").Range("A1:F200").Copy ThisWorkbook.Sheets("pakkeinstruktion").Range("a1") ' hele instruktionen kopieres over i Ark 1 og der laves opslag herfra.
    For Each pic In ActiveSheet.Shapes    ' kopieres label med over
        If pic.Type = 13 Then
      pic.Copy
       
        End If
     
    Next
   
   
    ActiveWorkbook.Close savechanges:=False 'lukker pakkeinstruktionsfilen der er kopieret fra igen uden at gemme
       
        Sheets("pakkeinstruktion").Activate 'aktiverer instruktionsarket og sætter billede ind
        ActiveSheet.Range("B60").Select
        ActiveSheet.Paste
        ActiveSheet.Range("a1").Select
    ActiveSheet.Protect Password:="kode" 'låser pakkeinstruktionsarket igen
   
   
    Sheets("startside").Activate ' aktiverer startsiden igen
   
    End If
       
 

      ActiveSheet.Protect Password:="kode" ' skrivebeskytter startsiden igen
      Unload UserForm1
     
               
End Sub


Rem Aktiveres med Annullerknappen
Private Sub CommandButton2_Click()
ActiveSheet.Protect Password:="kode" ' skrivebeskytter
Unload UserForm1  ' lukker promptboxen ned
End Sub



Det er vist lidt rodet. Bare spørg ;O)

LN
Avatar billede rosco Novice
30. april 2007 - 14:19 #1
application.screenupdating = False

husk at slutte med

application.screenupdating = True
Avatar billede spoi Nybegynder
30. april 2007 - 14:33 #2
Ok hvor skal jeg lægge de to linier?

Ved godt det sikkert er et sumt spørgsmål

LN
Avatar billede rosco Novice
30. april 2007 - 14:38 #3
application.screenupdating = False

Din Kode

application.screenupdating = True

End Sub
Avatar billede spoi Nybegynder
30. april 2007 - 15:21 #4
he he fandt ud af det.

Det var vist dagens hurtigste point og du erdagens helt i skysovs. Tak ;O)

LN
Avatar billede rosco Novice
30. april 2007 - 17:34 #5
Selv tak
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