Programación en Visual Basic. Incorporado en Excel.

Cómo podría ocultar valores de éstas celdas, pertenecientes al siguiente rango (A29:A38)(B29:B38)(C29:C38)(D29:D38)(E29:E38)(F29:F38)(G29:G38)(H29:H38)(I29:I38)(J29:J38)(K29:K38)(L29:L38)(M29:M38)(N29:N38), al seleccionar el rango (A9:A28). Y al seleccionar el rango (A29:A38), los siguientes rangos: (A9:A28)(B9:B28)(C9:C28)(D9:D28)(E9:E28)(F9:F28)(G9:G28)(H9:H28)(I9:I28)(J9:28)(K9:K28)(L9:L28)(M9:M28)(N9:N28) se oculten de forma automática. Y al seleccionar el rango (A39:A48), los siguientes rangos: (A9:A38)(B9:B38)(C9:C38)(D9:D38)(E9:E38)(F9:F38)(G9:G38)(H9:H38)(I9:I38)(J9:J38)(K9:K38)(L9:L38)(M9:M38)(N9:N38) se oculten de forma automática. Sé que de repente los códigos a emplear no sean tan complejos, pero si soy consciente que al momento de elaborar los códigos, se invertirá algo de tiempo por el simple motivo de modificar los rangos. Cabe mencionar, que la programación se llevará a cabo sólo en una sola hoja de Excel. Ejemplo hoja1.

1 respuesta

Respuesta
1

Lo que pretendes hacer, es imposible, puesto que no se pueden ocultar celdas, solo columnas o filas.

Ahora bien, habría un truco fácil que puedes hacer... Cambiar el color del texto y ponerlo igual que el fondo (Fondo Blanco-Texto Blanco) -De este modo, no serán "visibles" pero seguirán estando ahí.

Tampoco hay un modo automático para que se oculten o se muestren... Los eventos en Excel se provocan al pinchar en una celda determinada o al realizar una operación, así que tendrás que pensar de qué forma desencadenas el evento para que se oculten o se muestren las celdas...

Entiendo, pero ya que mencionas que sólo se pueden ocultar filas y columnas, y no celdas, me confunde puesto que las celdas se encuentran ubicadas en filas y columnas es decir, en lo que se le llama rango. Lo referente al utilizar el color blanco tanto para el texto como para el fondo de las celdas, es buena idea. Pero si yo en Excel abro el vba, y le indico cuales columnas ocultar, lo más probable es que me oculte las columnas completamente, y yo sólo quiero ocultar valores de  una cierta parte de las columnas. Por ejemplo... Si yo selecciono la Celda ubicada en el rango A1, y quiero que todo los valores del rango A2 en adelante, se oculte tampoco se puede? Otra cosa es, si usará el truco de los colores, qué tipo de macro podría usar? O debo hacerlo manualmente?

He estado echando un vistazo a las diferentes posibilidades y he encontrado otra solución que puede serte más útil.

Se trata de crear un formato "Nulo" es decir, que formatee los datos con valores nulos... De este modo, se ocultarían al curioso.

Hice una prueba y funciona perfectamente de la siguiente forma:

1.- Selecciona las celdas que quieras ocultar (por ejemplo, el rango A2:C8) y en la ficha "Inicio" pulsas sobre el botón "Formato Condicional"
2.- Creas una nueva regla, indicando que lo que necesitas es que "Utilice una fórmula que determine las celdas para aplicar el formato" (Ultima opción).
3.- Te pedirá una fórmula para verificar si es cierto o no... En mi caso, le puse que la casilla "K1" contuviese el valor "Z".- Si lo tiene, se aplica la fórmula (se borran los valores) y si no es una Z, no hace nada.
La formula en cuestion es esta: =K1="Z"
Después de eso, he probado a ver si funciona, y si le pongo una Z en la casilla K1, oculta el rango de datos... si le pongo cualquier otra letra, lo deja visible.

Pruébalo, me cuentas... (o mejor dicho, me puntúas la respuesta)...
Es un truco "raro", pero lo bueno es que funciona perfectamente...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas