Muestra de error 6 en excel vba

Al ejecutar la macro me sale error 6 DESBORDAMIENTO.

Se detiene en la siguiente línea

wx = (h3.Cells(i, "K") / h3.Cells(i, "L"))

macro

Sub cal_prom()
'
Dim i As Integer
Dim wx As Long
Set h3 = Sheets("DOCENTES")
    ini1 = "Inicial - Cuna-jardín"
    ini2 = "Inicial - Jardín"
    ini3 = "Inicial - Cuna"
    prim = "Primaria"
    Sec = "Secundaria"
    For i = 4 To h3.Range("I" & Rows.Count).End(xlUp).Row
        If h3.Cells(i, "I") = ini1 Or h3.Cells(i, "I") = ini2 Or h3.Cells(i, "I") = ini3 Or h3.Cells(i, "I") = prim Then
            wx = (h3.Cells(i, "K") / h3.Cells(i, "L"))
            h3.Cells(i, "M") = wx
        End If
        If h3.Cells(i, "J") = "JER" Then
            h3.Cells(i, "M") = CInt((h3.Cells(i, "L") * 35) / 25)
        ElseIf h3.Cells(i, "J") = "JEC" Then
            h3.Cells(i, "M") = CInt((h3.Cells(i, "L") * 45) / 25)
        End If
    Next i
    MsgBox "FIN"
End Sub

1 Respuesta

Respuesta
1

Cambia

Dim wx As Long

Por

Dim wx As Double


Al momento del error qué valores tienes en las celdas "K"i y "L"i:

wx = (h3.Cells(i, "K") / h3.Cells(i, "L"))

Buenas tardes Dante ya comprobé con double me sale igual 

le adjunto el archivo

https://mega.nz/folder/Ntpk2A5Q#x5bmDjQwuzxyQMudWHL3LQ

Antes de revisar el archivo puedes contestar esto:

Al momento del error qué valores tienes en las celdas "K"i y "L"i:

wx = (h3.Cells(i, "K") / h3.Cells(i, "L"))

me sale esto

No me estoy explicando.

Debes poner aquí los datos de las celdas K y L.

La macro se detiene en una fila. En cuál fila se detiene, qué datos están en esa fila.

¡Gracias Dante por el interés  de apoyar! hice seguimiento como me indicaste y el problema era los campos vacíos y 0/0.

Ese es el problema, no puedes dividir entre 0.

Pon una validación antes de la operación:

If h3.Cells(i, "L")) <> 0 then
wx = (h3.Cells(i, "K") / h3.Cells(i, "L"))
End if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas