¿Por qué es necesario ".Value" en esta macro?

Buenas Expertos.
Estudiando macros me encontré con esto:
Sub Condicional2_()
Dim Precio As Currency
Dim Descuento As Currency
Precio = 0
Descuento = 0
Precio = Val(InputBox("Entrar el precio", "Entrar"))
If Precio > 1000 Then
Descuento = Val(InputBox("Entrar el descuento", "Entrar"))
End If
ActiveSheet.Range("A1").Value = Precio
ActiveSheet.Range("A2").Value = Descuento
ActiveSheet.Range("A3").Value = Precio - Descuento
End Sub
He visto que la instrucción también se ejecuta perfectamente si no coloco ".Value" en la parte donde defino los rangos. (Parte negrita subrayada)
¿Es necesario colocar ".Value"? ¿Cuál es su función?
De antemano agradecido por su respuesta,
Luis carlos.

1 Respuesta

Respuesta
1
Value es la propiedad por defecto (es la mejor traducción que encuentro para "default property") del objeto Range, así que si no se hace referencia a una propiedad o método de forma explícita al usar un objeto Range VBA "entiende por su cuenta" que se desea hacer referencia a esa propiedad o método en concreto.
En general, no es recomendable no poner de forma explícita el miembro que se desea utilizar, porque a pesar de que en el momento en que se escriba el código éste pueda funcionar sin problemas, nada garantiza que en una futura versión de VBA los miembros por defecto sigan siendo los mismos, así que si hubiera cambios el código podría dejar de funcionar o no funcionar como se supone que deba hacerlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas