While I would never suggest anyone use Manual calculation in Excel, I realize that many still do. All it means is you have spreadsheet design issue that you SHOULD fix rather than cater to.
Function CalculationState() As String Application.Volatile Select Case Application.CalculationState Case 0: CalculationState = "Calculating" Case 1: CalculationState = "Done" Case 2: CalculationState = "Pending" End Select End Function
Function CalculationMode() As String Dim cMode As XlCalculation Application.Volatile cMode = Application.Calculation Select Case cMode Case xlCalculationAutomatic: CalculationMode = "Auto" Case xlCalculationManual: CalculationMode = "Manual" Case xlCalculationSemiautomatic: CalculationMode = "Semi-Auto" End Select End Function
Use like;
=CalculationState()
and
=CalculationMode()
Both are Volatile Functions and will recalculate when most action is used in Excel. IMPORTANT if you are in Manual Calculation neither will auto recalculate.
Microsoft and Microsoft Excel are registered trademarks of Microsoft Corporation. OzGrid is in no way associated with Microsoft
See also:
Free Training Course: Lesson 1 - Excel Fundamentals
See also: Index to Excel VBA Code; Index to Excel Freebies; Lesson 1 - Excel Fundamentals; Index to how to… providing a range of solutions
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.