establecer el color de las celdas con VBA

29/09/2003 - 14:18 por Gabriel Delgado | Informe spam
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

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
29/09/2003 - 15:16 | Informe spam
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" escribió en el mensaje news:1768801c38683$caee04a0$
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
Respuesta Responder a este mensaje
#2 Gabriel Delgado
29/09/2003 - 17:23 | Informe spam
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.



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" escribió en el


mensaje news:1768801c38683$caee04a0$
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

.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
29/09/2003 - 20:30 | Informe spam
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" escribió en el mensaje news:24e401c3869d$9a2131c0$
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.



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" escribió en el


mensaje news:1768801c38683$caee04a0$
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

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida