Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

establecer el color de las celdas con VBA

178 views
Skip to first unread message

Gabriel Delgado

unread,
Sep 29, 2003, 8:18:29 AM9/29/03
to
No tengo experiencia y estoy intentando establecer el
color de fondo de las celdas con lo siguiente:
For fila = 1 To 20
For columna = 1 To 20
Set celda = Worksheets(1).Cells(fila, columna)
If celda.Value = "saa2" Then
celda.Interior.ColorIndex = 8
End If
Next columna
Next fila
pero no me lo permite. ¿Podría alguien ayudarme? Muchas
gracias por anticipado.

Un saludo,
Gabriel

Fernando Arroyo

unread,
Sep 29, 2003, 9:16:40 AM9/29/03
to
El código me parece correcto, aunque posiblemente se pudiera "optimizar".
Quizás lo que te está sucediendo es que tienes establecida la declaración explícita de variables, o que no hay ninguna hoja de cálculo en el libro (sólo hay de gráficos). Si nos dices qué error te da, quizás podamos decirte algo más concreto.

En cualquier caso, si sólo necesitas cambiar el color de fondo de las celdas en función de su valor, quizás sea más sencillo usar el formato condicional (Formato->Formato condicional).
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Gabriel Delgado" <opera...@sempsa.org> escribió en el mensaje news:1768801c38683$caee04a0$a601...@phx.gbl...

Gabriel Delgado

unread,
Sep 29, 2003, 11:23:15 AM9/29/03
to
Gracias Fernando por responderme con tanta rapidez, quizás
antes no di los suficientes datos :
En herramientas/opciones/editor no está seleccionada la
opción "declaración de variables requerida".
El mensaje de error es el siguiente:"se ha producido el
error 1004 en tiempo de ejecución: imposible asignar la
propiedad colorindex de la clase interior."
El código lo tengo pegado en una botón que está en una
hoja de excel, la tarea la tiene que realizar en otra hoja
del mismo libro.
La versión de excel es la 97.
Con el formato condicional sólo puedo elegir tres
condiciones y son muchas más.Gracias.
Un saludo.

>-----Mensaje original-----

>.
>

Fernando Arroyo

unread,
Sep 29, 2003, 2:30:52 PM9/29/03
to
En Excel 2000 y en Excel 2003 el código funciona, a condición de que ninguna de las celdas sea un error, en cuyo caso se produce el error 13: No coinciden los tipos.

Creo recordar que en Excel 97 había un problema cuando se trabajaba con botones en hojas de cálculo, algo relativo a que el botón se quedaba con el "foco de la edición", lo que impedía que se pudiera trabajar, y creo recordar también que una posible solución era seleccionar una celda de la hoja, en tu caso algo como:

Worksheets(1).Range("A1").Select

Prueba a poner esta instrucción antes del bucle.
También creo recordar que había otra solución, algo relacionado con alguna propiedad del botón, pero ahora mismo no lo recuerdo bien.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Gabriel Delgado" <opera...@sempsa.org> escribió en el mensaje news:24e401c3869d$9a2131c0$a401...@phx.gbl...

0 new messages