Jump to content
Persal95

Desplazarse una fila sin caer en celdas ocultas

Recommended Posts

Hola, estoy trabajando en una macro que me filtre una tabla y que la pegue en otro libro, todo funciona correctamente salvo una parte.

A la tabla que deseo copia le pongo la opción de un autofiltro para que me seleccione solo una semana en particular, y tengo una validación para ello:

 

Sheets("DataIns").Select
 Worksheets("DataIns").AutoFilterMode = False
 Range("A1").Select
Selection.AutoFilter Field:=7, Criteria1:=wk
 Range("G1").Select
 ActiveCell.Offset(1, 0).Select

comproWeek = ActiveCell.Value

  If comproWeek = wk Then
 Range("B1").Select
 ActiveCell.Offset(1, 0).Select
 Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
 Selection.Copy
                     
  Else

Copiar = "No"
  End If

 

Al utilizar el offset para comprobar si es la celda con la semana correcta queda dentro de las ocultas y por tanto no se copia.

image.png.972ec61e2aa918fb52515de989bc00d7.png

Lo que necesito es que pueda desplazarse una fila y caer sobre el valor que corresponde para correr la condicional si debe copiarse o no...

image.png.0f56a925591a181642c56cb6a94b3c75.png

 

 

Share this post


Link to post
Share on other sites

Solucionado. 

Comparto por si alguien más lo necesita... Marcado de rojo la línea de código que coloque para que busque la siguiente fila no oculta

 Sheets("DataIns").Select
                     Worksheets("DataIns").AutoFilterMode = False
                     Range("A1").Select
                     Selection.AutoFilter Field:=7, Criteria1:=wk
                     Range("G1").Select
                     Set buscar = Range("G:G").Find(wk, LookIn:=xlValues, lookat:=xlWhole)
                     If Not buscar Is Nothing Then
                     With ActiveSheet.AutoFilter
        Set Rng = .Range.Resize(.Range.Rows.Count - 1).Offset(1, 0)
        Rng.SpecialCells(xlCellTypeVisible).Cells(1, 7).Select
    End With

    
                     fila = ActiveCell.Row
                     comproWeek = ActiveCell.Value
                     
                     If comproWeek = wk Then
                     
                     Range("B" & fila).Select
                     Range(Selection, Selection.End(xlDown)).Select
                     Range(Selection, Selection.End(xlToRight)).Select
                     Selection.Copy
                     
                     Else
                     
                     Copiar = "No"
                     End If
                     
                     If Copiar <> "No" Then

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png