Avatar billede kll1978 Nybegynder
15. januar 2009 - 19:40 Der er 5 kommentarer og
1 løsning

Optimere vba kode i excel ark

Jeg har lavet denne vba-kode i et excel ark - men jeg synes det går lidt langsomt. Hvordan kan jeg speede lidt op.

Her er koden.

Sub Indsæt_Forventninger_nyt_ark()

    Sheets("Kopi af forventninger").Visible = True
    Sheets("Lønforventning").Unprotect Password:="118"
    Sheets("Kopi af forventninger").Unprotect Password:="118"
    Sheets("Lønforventning").Select
    Range("A35:O321").Select
    Selection.Copy
   
'Vælger PH1
    Sheets("Lønforventning").Select
    Range("A36:O83").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A36").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False


'Vælger PH2
    Sheets("Lønforventning").Select
    Range("A94:O141").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A94").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH3
    Sheets("Lønforventning").Select
    Range("A152:O199").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A152").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH4
    Sheets("Lønforventning").Select
    Range("A210:O257").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A210").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH5
    Sheets("Lønforventning").Select
    Range("A268:O315").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A268").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

End Sub
Avatar billede kll1978 Nybegynder
15. januar 2009 - 19:41 #1
her er kode rettet lidt til

Sub Indsæt_Forventninger_nyt_ark()

    Sheets("Kopi af forventninger").Visible = True
    Sheets("Lønforventning").Unprotect Password:="118"
    Sheets("Kopi af forventninger").Unprotect Password:="118"
   
'Vælger PH1
    Sheets("Lønforventning").Select
    Range("A36:O83").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A36").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False


'Vælger PH2
    Sheets("Lønforventning").Select
    Range("A94:O141").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A94").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH3
    Sheets("Lønforventning").Select
    Range("A152:O199").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A152").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH4
    Sheets("Lønforventning").Select
    Range("A210:O257").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A210").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

'Vælger PH5
    Sheets("Lønforventning").Select
    Range("A268:O315").Select
    Selection.Copy
    Sheets("Kopi af forventninger").Select
    Range("A268").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

End Sub
Avatar billede kll1978 Nybegynder
15. januar 2009 - 19:43 #2
Der hvor det går langsomt, er når den selekter et område, kopier området og derefter indsætte data som værdier - hvor ligger "fejlen" henne?
Avatar billede kabbak Professor
15. januar 2009 - 20:42 #3
jeg har rettet lidt i den, prøv at teste

Sub Indsæt_Forventninger_nyt_ark()

    Sheets("Kopi af forventninger").Visible = True
    Sheets("Lønforventning").Unprotect Password:="118"
    Sheets("Kopi af forventninger").Unprotect Password:="118"

    With Sheets("Lønforventning")
        Sheets("Kopi af forventninger").Activate
        'Vælger PH1

        .Range("A36:O83").Copy
        Range("A36").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                      :=False, Transpose:=False
        Application.CutCopyMode = False


        'Vælger PH2

        .Range("A94:O141").Copy
        Range("A94").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                      :=False, Transpose:=False
        Application.CutCopyMode = False

        'Vælger PH3

        .Range("A152:O199").Copy
        Range("A152").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                      :=False, Transpose:=False
        Application.CutCopyMode = False

        'Vælger PH4

        .Range("A210:O257").Copy
        Range("A210").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                      :=False, Transpose:=False
        Application.CutCopyMode = False

        'Vælger PH5

        .Range("A268:O315").Copy
        Range("A268").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                      :=False, Transpose:=False
        Application.CutCopyMode = False
    End With
End Sub
Avatar billede kabbak Professor
15. januar 2009 - 20:47 #4
kan nok koges ned til

Sub Indsæt_Forventninger_nyt_ark()

    Sheets("Kopi af forventninger").Visible = True
    Sheets("Lønforventning").Unprotect Password:="118"
    Sheets("Kopi af forventninger").Unprotect Password:="118"

    With Sheets("Lønforventning")
        Sheets("Kopi af forventninger").Activate
        'Vælger PH1
        .Range("A36:O83").Copy
        Range("A36").PasteSpecial Paste:=xlPasteValues
     
        'Vælger PH2
        .Range("A94:O141").Copy
        Range("A94").PasteSpecial Paste:=xlPasteValues

        'Vælger PH3
        .Range("A152:O199").Copy
        Range("A152").PasteSpecial Paste:=xlPasteValues
       
        'Vælger PH4
        .Range("A210:O257").Copy
        Range("A210").PasteSpecial Paste:=xlPasteValues

        'Vælger PH5
        .Range("A268:O315").Copy
        Range("A268").PasteSpecial Paste:=xlPasteValues
        Application.CutCopyMode = False
    End With
End Sub
Avatar billede kll1978 Nybegynder
24. juli 2009 - 00:46 #5
hej kabbak

tak for hjælpen

kan du ikke give et svar så du får dine point
Avatar billede kabbak Professor
25. juli 2009 - 23:03 #6
;-))
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