No estoy pidiendo ayuda con ningún script, pero mi pregunta es para aclarar. Últimamente he estado haciendo muchas secuencias de comandos VB en Excel, por lo que realmente me estoy refiriendo a Excel en esta pregunta. ¿Cuál es la diferencia entre .text, .value y .value2? ¿Como cuando debo usar target.text, target.value y target.value2? Nunca utilicé la opción value2 pero todavía me gustaría saber para qué se utiliza.
A veces, si uso .text me da un error y necesito usar .value cuando solo estoy revisando o manipulando el texto dentro de una celda. Luego, a veces, cuando creo que debería usar .value, recibo un error y necesito usar .text. Por lo general, acepta cualquiera o sin un problema, pero a veces hace la diferencia. Sé que tiene que haber algo de lógica en esto, pero parece que no puedo entenderlo.
También descubrí que si lo dejas como objetivo sin especificar .text o .value, funcionará inicialmente, pero algo que alguien haga eventualmente causará un error en el script, por lo que siempre es mejor usar un .something en él . Supongo que lo que estoy preguntando es si alguien puede darme algún tipo de guía, regla general, sobre cómo usar cada una de manera adecuada y cuándo debe usarse.
Gracias por la explicación chicos. De alguna manera lo entiendo mejor. Ambas son buenas explicaciones. A continuación se muestra un pequeño ejemplo de algunos de mis códigos que sí funcionan. Pensé que debería ser target.text, pero sería un error, así que cuando usé target.value funcionó.
If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then
Target.Value = "Higher Level Outage"
End If
Todavía estoy un poco confundido porque cuando pienso en el valor o valor2, especialmente después de las respuestas que proporcionó, creo que solo deberían usarse para los números. Sin embargo, en mi ejemplo estoy hablando estrictamente de texto, que es mucho de lo que se refiere mi script (texto en las celdas, más que números).