Optimering af VBA kode
HejEr 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
