Creé una macro para un archivo y primero funcionaba bien, pero hoy he estado abriendo y reiniciando el archivo y la macro cientos de veces y siempre estoy obteniendo el siguiente error: Excel VBA Error en tiempo de ejecución '13' Tipo no coincidenteExcel VBA Error en tiempo de ejecución '13' No coincide
No cambié nada en la macro y no sé por qué recibo el error. Además, lleva años actualizar la macro cada vez que la ejecuto (la macro tiene que ejecutar alrededor de 9000 filas).
El error está en el entre ** **.
VBA:
Sub k()
Dim x As Integer, i As Integer, a As Integer
Dim name As String
name = InputBox("Please insert the name of the sheet")
i = 1
Sheets(name).Cells(4, 58) = Sheets(name).Cells(4, 57)
x = Sheets(name).Cells(4, 57).Value
Do While Not IsEmpty(Sheets(name).Cells(i + 4, 57))
a = 0
If Sheets(name).Cells(4 + i, 57) <> x Then
If Sheets(name).Cells(4 + i, 57) <> 0 Then
If Sheets(name).Cells(4 + i, 57) = 3 Then
a = x
Sheets(name).Cells(4 + i, 58) = Sheets(name).Cells(4 + i, 57) - x
x = Cells(4 + i, 57) - x
End If
**Sheets(name).Cells(4 + i, 58) = Sheets(name).Cells(4 + i, 57) - a**
x = Sheets(name).Cells(4 + i, 57) - a
Else
Cells(4 + i, 58) = ""
End If
Else
Cells(4 + i, 58) = ""
End If
i = i + 1
Loop
End Sub
¿Cree usted me puede ayudar? Estoy usando excel 2010 en Windows 7. Muchas gracias
Es valores numéricos Allways entre 0 y 3. – Diogo
Tengo el error en la primera línea del código que me dio "Error de compilación: Error de sintaxis" – Diogo
No debería haber ningún error de sintaxis. Asegúrate de ponerlo justo después de tu otra declaración 'If' y de que tienes todos los paréntesis. –