Celdas no fijas

Como te va. Muchas gracias por el tiempo que dediques a mi consulta, la cual espero no sea complicada de explicar y me entiendas el asunto: Cuando se graba una macro se hace una referencia a una celda especifica, por ejemplo: valore la celda A1 es numérica, si o no, bueno haga esto.
Consulta: Pero que hay si quiero activar la macro desde cualquier posición, o sea, si estoy en la celda D21 y le pido que valore la celda B21, ella lo hará así, pero que si estoy en la celda D800, ¿se va a ir a la celda B21 otra vez? Por favor, ayudarme con el concepto para solventar mi problema. Muchas gracias por su ayuda. Y saludos

1 respuesta

Respuesta
1
Creo que tienes que profundizar un poco en la programación con VBA para entender bien lo que preguntas. De todas maneras intentaré darte una solución.
Cuando grabas una macro normalmente se graba el nombre de las celdas que utilizas, excepto si ya tienes la selección de celdas sobre las que actuar hecha previamente.
Una cosa que puede serte de utilidad es, grabar una macro y modificar su código para actuar sobre las celdas que quieras. Hay métodos para referenciar celdas relativas respecto la celda activa en ese momento. Por ejemplo:
ActiveCell.Offset(0, -1).Font.Bold = True
Esto pone en negrita la celda de la izquierda a la activa en ese momento.
(0,-¿1) Es una coordenada?
Como se interpreta el 0 en este caso.
¿Cómo se movería uno hacia arriba o hacia abajo?
Muchas gracias por aclararme tan rapido el asunto, ya voy poco a poco entendiendo.
Offset significa desplazamiento y, efectivamente, los números son como coordenadas pero no son absolutas sino relativas respecto a la casilla activa.
El primer numero es para el desplazamiento vertical y el segundo para el horizontal.
Hablando del ejemplo que te puse, el 0 significa que no hay variación de arriba o abajo, y el -1 quiere decir que se mueva hacia la izquierda.
Otro ejemplo: Para que afecte a la casilla situada 2 abajo y uno a la derecha de la actual seria: ActiveCell. Offset(2,1)
Si no te sale lo que quieres hacer, me lo explicas e intentaré darte una solución más concreta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas