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

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
 
M

Mike H

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
 
R

Ron Rosenfeld

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
 
A

Arvind Mane

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
 

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