Avatar billede tvc Seniormester
15. januar 2009 - 17:11 Der er 1 løsning

Optimering af VBA kode

Hej

Er der en der kan hjælpe mig med at gøre nedenstående kode hurtigere. Den er pludselig blevet meget langsom.

'Indeks 1-5
Sub L15()
    Start
    Ark2.Range("b2") = "'1-5"
    Ark2.Range("a2") = 5
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-6
Sub L16()
    Start
    Ark2.Range("b2") = "'1-6"
    Ark2.Range("a2") = 6
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-10
Sub L110()
    Start
    Ark2.Range("b2") = "'1-10"
    Ark2.Range("a2") = 10
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-12
Sub L112()
    Start
    Ark2.Range("b2") = "'1-12"
    Ark2.Range("a2") = 12
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 12-1
Sub L121()
    Start
    Ark2.Range("b2") = "'12-1"
    Ark2.Range("a2") = 12
    Ark2.Range("IndexType") = 3
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-15
Sub L115()
    Start
    Ark2.Range("b2") = "'1-15"
    Ark2.Range("a2") = 15
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-20
Sub L120()
    Start
    Ark2.Range("b2") = "'1-20"
    Ark2.Range("a2") = 20
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-31
Sub L131()
    Start
    Ark2.Range("b2") = "'1-31"
    Ark2.Range("a2") = 31
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-54
Sub L154()
    Start
    Ark2.Range("b2") = "'1-54"
    Ark2.Range("a2") = 54
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks Jan-Dec
Sub JanDec()
    Start
    Ark2.Range("b2") = "Jan-Dec"
    Ark2.Range("a2") = 12
    Ark2.Range("IndexType") = 4
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks A-Å
Sub AÅ()
    Start
    Ark2.Range("b2") = "A-Å"
    Ark2.Range("a2") = 20
    Ark2.Range("IndexType") = 2
    RowHeight
    ColumnsShow
    Font
End Sub

Sub RowHeight()

Ark3.Select

I = 1

For I = 1 To 54

With Ark3.Rows(I)
    .RowHeight = Range("H" & I).Value
End With

Next I

End Sub

Sub ColumnsShow()
    Ark3.Select
   
'Columnwidth

    Columns("B:E").ColumnWidth = Ark2.Range("ColumnWidthIndex").Value
    Columns("F:F").ColumnWidth = Ark2.Range("ColumnWidthText").Value
   
'Reset Hidden columns

    If Columns("B:B").EntireColumn.Hidden = False Then
        Columns("B:B").EntireColumn.Hidden = True
    End If
    If Columns("C:C").EntireColumn.Hidden = False Then
        Columns("C:C").EntireColumn.Hidden = True
    End If
    If Columns("D:D").EntireColumn.Hidden = False Then
        Columns("D:D").EntireColumn.Hidden = True
    End If
    If Columns("E:E").EntireColumn.Hidden = False Then
        Columns("E:E").EntireColumn.Hidden = True
    End If

'Hide columns

    If Ark2.Range("IndexType").Value = 1 Then
        Columns("B:B").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 2 Then
        Columns("C:C").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 3 Then
        Columns("D:D").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 4 Then
        Columns("E:E").EntireColumn.Hidden = False
    End If
   
End Sub


'Font settings

Sub Font()

    Ark3.Columns("B:E").Select
    With Selection.Font
        .Name = "Arial"
        .Size = Ark2.Range("FontIndex").Value
    End With
   
 
    Ark3.Columns("F:F").Select
    With Selection.Font
        .Name = "Arial"
        .Size = Ark2.Range("FontText").Value
    End With

    Ark3.Range("F1").Select
     
    Application.ScreenUpdating = True
End Sub

Sub Start()
    Application.ScreenUpdating = False
End Sub
Avatar billede tvc Seniormester
15. januar 2009 - 20:14 #1
Erstattet af dette spørgsmål:

http://www.eksperten.dk/spm/859964
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