Paddy1979
Well-known Member
- Joined
- Sep 23, 2005
- Messages
- 608
Hello,
Please can you give me some advise, i have wriiten the below code which works great on my laptop but for my two fellow collegues (using identical laptops) it runs very very very slow and is unusable, can anybody tell me why this is?
Sub Result_calculation()
Application.ScreenUpdating = False
If ActiveSheet.Name = "Good Diff." Then
Range("D2").Select
Do 'insert good diff formulas
ActiveCell.FormulaR1C1 = _
"=SUMIF('Stock Holdings'!C[-3]:C[-1],RC[-3],'Stock Holdings'!C[-1])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(Adjustments!C[-4]:C[-2],RC[-4],Adjustments!C[-2])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(STR,RC[-5],'Good Stores'!C[-3])+SUMIF(WIP,RC[-5],WIP!C[-3])+SUMIF(VAN,RC[-5],Van!C[-3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=(RC[-2]+RC[-1])-RC[-3]"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],price,2,0)*RC[-1]"
ActiveCell.Offset(1, -4).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -1))
End If
If ActiveSheet.Name = "Faulty Diff." Then
Range("D2").Select
Do 'insert faulty diff formulas
ActiveCell.FormulaR1C1 = _
"=SUMIF('Stock Holdings'!C[2]:C[4],RC[-3],'Stock Holdings'!C[4])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(Adjustments!C[1]:C[3],RC[-4],Adjustments!C[3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(RPS,RC[-5],'All Faulty'!C[-3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=(RC[-2]+RC[-1])-RC[-3]"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],price,2,0)*RC[-1]"
ActiveCell.Offset(1, -4).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -1))
End If
'remove formulas
With Range("D2:H4000")
.Copy
.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("A1").Select
Beep
Cheers
Paddy
Please can you give me some advise, i have wriiten the below code which works great on my laptop but for my two fellow collegues (using identical laptops) it runs very very very slow and is unusable, can anybody tell me why this is?
Sub Result_calculation()
Application.ScreenUpdating = False
If ActiveSheet.Name = "Good Diff." Then
Range("D2").Select
Do 'insert good diff formulas
ActiveCell.FormulaR1C1 = _
"=SUMIF('Stock Holdings'!C[-3]:C[-1],RC[-3],'Stock Holdings'!C[-1])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(Adjustments!C[-4]:C[-2],RC[-4],Adjustments!C[-2])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(STR,RC[-5],'Good Stores'!C[-3])+SUMIF(WIP,RC[-5],WIP!C[-3])+SUMIF(VAN,RC[-5],Van!C[-3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=(RC[-2]+RC[-1])-RC[-3]"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],price,2,0)*RC[-1]"
ActiveCell.Offset(1, -4).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -1))
End If
If ActiveSheet.Name = "Faulty Diff." Then
Range("D2").Select
Do 'insert faulty diff formulas
ActiveCell.FormulaR1C1 = _
"=SUMIF('Stock Holdings'!C[2]:C[4],RC[-3],'Stock Holdings'!C[4])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(Adjustments!C[1]:C[3],RC[-4],Adjustments!C[3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUMIF(RPS,RC[-5],'All Faulty'!C[-3])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=(RC[-2]+RC[-1])-RC[-3]"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],price,2,0)*RC[-1]"
ActiveCell.Offset(1, -4).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -1))
End If
'remove formulas
With Range("D2:H4000")
.Copy
.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("A1").Select
Beep
Cheers
Paddy