Resaltar filas con macro y con formato condicional

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Resaltar filas con macro y con formato condicional

Notapor pfusterv » 13 May 2006 11:05

Como se puede observar, cuando se activa una celda, la fila comprendida entre las
columnas B y E, quedan resaltadas de color amarillo, esto ocurre entre las filas
2 y 300, pero al activar una celda en la fila nº 1 o en cualquier fila a partir de la nº 300
la macro da un error 1004, LO QUE PRETENDO ES QUE ESE ERROR DESAPAREZCA.
La macro que hace que resalten las filas la saque de este foro, y la retoqué un poco para
adaptarla a mi hoja, pero sin entender muy bien como funciona.


Además también quiero, que cuando en la columna F (cobros) ponga SI, los textos de
esa fila, (desde la comlumna B hasta la E) cambien a color rojo,
pero respentando el formato condicional que hay en la columna D (PROCESO),
es decir que mantengan el color de dicho formato condicional
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
pfusterv
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Mar 2006 14:11

Notapor opermty » 13 May 2006 18:38

El error que te da es por la condicion:

Range("b4:f300").Interior.ColorIndex = 1006
al parecer el color no existe y por eso te muestra el mensaje de que no se puede asignar el colorinterior cambialo por un 6 como
Range("b4:f300").Interior.ColorIndex = 6
Si lo que buscas es que si la fila sea menor a 2 se ponga de amarillo
Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Resaltar filas con macro y con formato condicional

Notapor lucas225 » 13 May 2006 18:59

Prueba a poner en esta lí­nea de código

Range("b4:f300").Interior.ColorIndex = xlNone

con esto te deja en blanco las lineas 1 y +300 borrando la linea señalada.

Un sludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
lucas225
Miembro Frecuente
Miembro Frecuente
 
Registrado: 05 Feb 2006 17:58
Ubicación: madrid

Notapor pfusterv » 13 May 2006 20:32

Las dos respuestas me solucionan el problema del error, aunque la lí­nea Range("b4:f300").Interior.ColorIndex = xlNone, me resulta más eficaz, ya que la lí­nea Range("b4:f300").Interior.ColorIndex = 6, aunque tambí­en soluciona el error, resalta también todas las celdas de la columna cobros, así­ como el resto del rango B4:F300. No obstante esto último responde a otra pregunta que tení­a en mente.

Todaví­a me queda una duda sin resolver, cuando pongo en una celda SI, quiero que las celdas que hay a la izquierda se resalten y asea el color de la celda o del texto, y que esta condición sea prioritaria a la de la macro ya contestada (anterior).

Muchas gracias por las dos respuestas anteriores.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
pfusterv
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Mar 2006 14:11

Notapor opermty » 13 May 2006 22:10

En primera solicito el detalle del error, en futuro sea mas especifico con lo que desea para no andar dando patadas de ahogado.
Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 13 May 2006 22:16

Nota:

Si no deseas el rango de olumna mencionado solo cambia la columna en:

Range("b4:f300").Interior.ColorIndex = 6

quedando como se muestra e igualmente te soluciona ambos detalles.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 13 May 2006 22:16

Correcion:
Range("B4:E300").Interior.ColorIndex = 6
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 13 May 2006 22:56

Prueba esta modificacion:

Private Sub Resalta()
Dim R As Long
Dim C As Long
Dim X As String
R = ActiveCell.Row
C = ActiveCell.Column
If R < 2 Or R > 300 Or C > 5 Then
Range("b4:e300").Interior.ColorIndex = 6
Exit Sub
Else
Range("b2:e300").Interior.ColorIndex = 2
Range("b" & R & ":e" & R).Interior.ColorIndex = 27
If Range("f" & ActiveCell.Row).Value = "SI" Then _
Range("b" & ActiveCell.Row & ":e" & ActiveCell.Row).Font.Bold = True
End If
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor pfusterv » 14 May 2006 04:58

Muchas gracias Opermty, esto es exactamente lo que queria, siento no haberme explicado correctamente la primera vez.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
pfusterv
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Mar 2006 14:11

Notapor opermty » 14 May 2006 11:01

Amigo estamos para ayudarnos, ustedes solicitando y al menos un servidor aprendiendo mas sobre codigo que es lo que me interesa y segun el tema me convenga

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 5 invitados