WTF?? Stange happings with a VB code

P

pgarcia

Ok, I'm using the below VB code and to my surprise, none of my formulas work.
Can any see why this is happing? When I remove the code, formulas work.
Strange.

Does it have to do with "With Application"?

Dim DeleteValue As String
Dim rng As Range
Dim calcmode As Long

With Application
calcmode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
DeleteValue = "Closed"
With ActiveSheet
.AutoFilterMode = False
.Range("AE1:AE" & .Rows.Count).AutoFilter Field:=1,
Criteria1:=DeleteValue

With .AutoFilter.Range
On Error Resume Next
Set rng = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rng Is Nothing Then rng.EntireRow.Delete
End With
.AutoFilterMode = False
End With
 
K

Kent Prokopy

Application.Calculation = xlCalculationManual

This is telling Excel to stop updating formulas untill you change it back to:
Application.Calculation = xlCalculationAutomatic
or hit F9
 
P

pgarcia

Ah, and that's what I get for not taking a class. When I added the following
it work fine. Thanks Ron.

With Application
.ScreenUpdating = True
.Calculation = calcmode
End With
 
B

Bob Phillips

Probably best to use

With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.Calculation = calcmode
End With

so as to ensure the sheet gets recalculated in case it was originally manual
 
D

Dave Peterson

Or just do the calculation:

With Application
.ScreenUpdating = True
.Calculate
.Calculation = calcmode
End With
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top