can anyone help me for "#DIV/0!" Error

  • Thread starter Thread starter Arvind Mane
  • Start date Start date
A

Arvind Mane

i am doing some caculations in excel cells, my result is in cell A1,
if the result comes "#DIV/0!" then While executing the following macro, VBA
gives me Debug message. The value of A becomes "Error 2007".
How can i solve this problem?


Sub Postmacro()
A = Cells(1, 1).Value
B = 1.5
if(A<>0) then
C = B / A
End if
End Sub
 
Hi,

I don't understand the problem. The line
if(A<>0) then
ensures you won't get a #DIV/0 error but you could get a type mismatch. I
suggest you change that line to

If a <> 0 And IsNumeric(a) Then


Mike
 
i am doing some caculations in excel cells, my result is in cell A1,
if the result comes "#DIV/0!" then While executing the following macro, VBA
gives me Debug message. The value of A becomes "Error 2007".
How can i solve this problem?


Sub Postmacro()
A = Cells(1, 1).Value
B = 1.5
if(A<>0) then
C = B / A
End if
End Sub


1. It is good practice to explicitly DIM your variables.

You need to test the contents of Cells(1,1) to see if there is an error value:

====================
Option Explicit
Sub Postmacro()
Dim A As Double
Dim r As Range
Dim B As Double
Dim C As Double

Set r = Cells(1, 1)
If IsError(r) Then Exit Sub
A = r.Value
B = 1.5
If (A <> 0) Then
C = B / A

End If
End Sub
===================
--ron
 
Thanks Ron Rosenfeld

Ron Rosenfeld said:
1. It is good practice to explicitly DIM your variables.

You need to test the contents of Cells(1,1) to see if there is an error value:

====================
Option Explicit
Sub Postmacro()
Dim A As Double
Dim r As Range
Dim B As Double
Dim C As Double

Set r = Cells(1, 1)
If IsError(r) Then Exit Sub
A = r.Value
B = 1.5
If (A <> 0) Then
C = B / A

End If
End Sub
===================
--ron
 
Back
Top