Cómo hago que una macro en excel realice lo siguiente?

Tengo dos libros de excel en los dos tengo los números del 1 al 9. Pero no se en que celda estarán los números en el libro 2 por lo que uso la herramienta "buscar"para encontrar cada número y sombrearlo con un color. Mi problema está en que en el buscador sólo se queda con el numero con que hice la macro, en este caso queda what:="1" quisiera que ese numero se vaya cambiando según la active cell que yo vaya seleccionado. Porque sólo queda sombreado donde hice clic pero no queda sombreado el numero en el libro 2

2 Respuestas

Respuesta
1

Deberás montar un bucle con un contador para i=9

Si pones aquí la macro la podremos modificar

Sub Macro2()
'
' Macro2 Macro
'
' Acceso directo: Ctrl+Mayús+B
'
Selection.Copy
Windows("Libro1").Activate
Cells.Find(What:="1", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Application.CutCopyMode = False
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Windows("Libro2").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Después de utilizar la cabeza, que para algo tiene que servir, he caído en que un formato condicional es lo más fácil y conveniente para ti

Solo tienes que poner el rango que te interese, el formato y la fórmula que ves en la imagen y siempre que haya un valor entre 1 y 9 en el rango especificado, automáticamente el relleno se activará

¡Gracias!  Pero creo que me falto expresarme más.En este caso estoy limitado con las celdas que me pidan. Por lo que tengo dos libros con la misma información solo que el "libro 1" no lo puedo tocar porque dañaría el formato solo le puedo llenar con la sombra de excel y el otro lo uso para poder separar por categorías. Para esto en el "libro 1" toda la información esta mezclada en varias celdas de la fila A, por eso uso el "buscador" para encontrarlo mas rápido con la información que ya tengo clasificada en el "libro 2". y en verdad no son son solo 9 números, son miles pero solo compartí eso para intentar demostrar de forma sencilla a lo que quisiera llegar con la macro.

En otras palabras lo que estoy haciendo es copiar el número del "libro 2" y luego lo busco en el "libro 1" y lo sombreo, luego regreso al "libro 2" y sombreo el número que ya busque. Así sucesivamente un poco más de mil veces....

Selecciona la celda y ejecuta esta macro:

Sub Macro2()
'
' Macro2 Macro
'
' Acceso directo: Ctrl+Mayús+B
'
numero = Activecell.Value
Windows("Libro1").Activate
Cells.Find(What:=numero, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Application.CutCopyMode = False
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Windows("Libro2").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Ya me comentas

Respuesta

Puedes poner tu macro completa.

También pon 2 imágenes una de cada libro y que se vean las filas y columnas de excel

No pusiste las imágenes.

¿En cuál libro quieres la macro?

¿En cuál libro vas a seleccionar el número?

Tienes varios números iguales, por ejemplo, estás en el libro 1, en la celda A8 tienes el número 1, seleccionas la celda A8, ejecutas la macro, quieres que en el libro1 se busquen todas las celdas que contenga el número 1 y se pinten de color, ¿y qué también se busque en el libro2 todas las celdas que contenga el número 1 todas esas celdas también se pinten de color?

Creo que se nota que soy principiante en esto. lo que quiero hacer es  copiar el número de una celda del "libro 2" y luego lo buscarlo en el "libro 1" y lo sombreo, luego regreso al "libro 2" y sombreo el número que ya busque.  Eso es lo que quería hacer con la macro, programar con las teclas "ctrl+shift+b" que la celda que seleccione en el "libro 2" la busque en el libro 1" 

mi problema es: solo se sombrea en el "libro 2" el número que quiero y al revisar el "libro 1" se queda fijado el mismo número en el buscador. Según yo mi problema esta en el  "What:="1"" que es lo que queda en el buscador cuando lo que necesito es que busque la información de la celda que yo seleccione. Lo que tengo que hacer es repetitivo, en si son miles de veces, por eso esta macro me ahorraría muchas horas.

Creo que ahora entiendo menos.

Tienes que explicar con ejemplos reales. Primero hablaste de 1 a 9, pero ahora comentas que son miles.

No trates de inventar el ejemplo, solamente pon los datos reales que tienes en tus libros, sería más fácil para ti y más fácil para nosotros entender.

Si no puedes poner las imágenes, entonces envíame un correo con 3 libros.

En el libro1 me dices qué números vas a buscar.

En el libro2 me pones los datos antes de ser coloreados

En el libro3 me pones los datos después de ser coloreados.

Como te comento, no inventes datos, trata de poner los datos reales, los datos deberán estar en las columnas y filas reales, de lo contrario la macro no funcionará.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Marco Zunino” y el título de esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas