Modificacion de codigo en excel

Experta elsa como adaptar este código si el anterior que me dio no da resultado

Sub buscar_z()
Dim i%, num As Range

i = 1
Do While Cells(i, "DO") <> ""
Set num = Range("A1:CY42").Find(Cells(i, "DO"), lookat:=xlWhole)
If Not num Is Nothing Then
With num.Borders
.LineStyle = xlContinuous
.Weight = xlMedium
End With
End If
i = i + 1
Loop
End Sub

2 Respuestas

Respuesta
1

Experta es que el trabajo funcionaba muy bien antes, no entiendo si es de pronto por la palabra DATOS que esta en el código y lo otro que también le echo la culpa es que cuando voy a realizar cualquier opreracion en visual basic se trata de colocar la pantalla de negro

¿De pronto usted sabrá a que se debe esto?

Como siempre agradecido por su ayuda

Respuesta
1

Con el DO While que agregaste a la macro solo estás buscando en cada fila de la col DO.

Tu libro contiene 4 hojas. Las macros se desarrollan según la particularidad de cada hoja.

¿Para cuál de las hojas necesitas el ajuste?

Sdos.

Elsa

* Mi mejor recomendación para este mes: el manual de Bucles

Te solicito dejes todas las aclaraciones aquí en la consulta y de ser posible con el mismo usuario (John... ¿Fredy? )
No me has respondido en cuál de las hojas necesitas que se corra esa macro.

No me envíes a mi correo nuevos códigos porque no los miraré. Solo responderé a lo que se consulta aquí en esta entrada.

Sdos!

hoja programa4cifras experta 

En tu correo mencionabas otra macro:

Experta elsa buenos dias lo que ocurre es que este codigo buscar_reemplazar_borde me esta ocasionando problemas, no se si es por la palabra DATOS que esta en el codigo

Por que no me esta colocando borde a las celdas

Estuve averiguando y encontre este nuevo codigo

Sub buscar_z()

Dim i%, num As Range

Por lo tanto atendiendo a tu comentario, noto que falla esa macro de borde (y seguramente todas las macros que trabajen en esa hoja) porque ahora tus rangos presentan celdas vacías.

Ajustá en macro buscar_reemplazar_borde las 2 líneas que mencionan:

Set DATOS = Range("A1:CY42").CurrentRegion  dejando solamente así:

Set DATOS = Range("A1:CY42")

ATENCION al uso de CurrentRegion últimamente muy (y mal utilizado) en general. Solo se utiliza en rangos SIN espacios entre celdas.

En este modelo de hoja, la expresión CurrentRegion solo te estaba seleccionando el rango A1:A6

Si otras de tus macros presenta errores revisa también cómo se está seleccionando el rango. Y si no lo podés resolver deja una nueva consulta con la macro y una imagen de la hoja.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas