Compartir a través de

programación vba excel

Anónimas
2019-01-24T03:01:59+00:00

Desearía saber porque la siguiente instrucción :

IF ACTIVECELL.ADDRESS=$A$1  THEN

Produce error.

Colocando la expresión en ventana inmediato, tenemos que cuando el cursor se halla en la celda A1,

?ACTIVECELL..ADDRESS

$A$1

Microsoft 365 y Office | Excel | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios

3 respuestas

Ordenar por: Muy útil
  1. Anónimas
    2019-01-30T15:34:51+00:00

    Una cosa es lo que se 'escribe como VBA' y otra lo que se 'muestra' con el comando ?, prueba en la ventana inmediato a escribir esto:

    ? hola & adios

    Ves que no te muestra nada, porque estás escribiendo como VBA y tanto hola como adios se interpretan como variables. Como no contienen nada, no se muestra nada. En cambio, escribe lo siguiente en la ventana inmediato:

    ? "hola" & "adios"

    holaadios

    Ahora te muestra "holaadios", porque al escribir entre comillas VBA interpreta tanto hola como adios como textos fijos.

    Por último, al 'mostrar' el texto (ya sea con ? o con MsgBox o...), las comillas no se muestran, las comillas son la convención VBA para definir textos fijos.

    Bueno, he tardado en responder y además la explicación no me ha quedado muy clarificadora ;-), quizás mejor mires documentación de programación VBA referente a constantes, strings, etc.

    Un saludo

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios
  2. Anónimas
    2019-01-24T08:59:48+00:00

    Entonces porque no figuran las comillas en la ventana inmediato?

    Agradezco tu pronta respuesta.

    Buenos días..

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios
  3. Anónimas
    2019-01-24T08:17:54+00:00

    Hola:

    Porque .Address devuelve un valor tipo string, y en VBA los string van entre comillas dobles:

    IF ActiveCell.Address = "$A$1" Then

    Un saludo

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios