Visual Basic para Aplicaciones - Autofil-Autorrelleno

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 7 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Autofil-Autorrelleno

Publicado por Ricard (2 intervenciones) el 27/06/2019 13:02:37
Buenos días. Gracias por vuestra ayuda.

Tengo dos libros de excel. En el primero me aparecen los datos actualizados de personas que aparecen o desaparecen en función de que cumplan unos determinados requisitos que deben justificar mediante documentación.

En este segundo libro tengo hojas enumerados por días (actualización diaria) que copia los datos del libro 1 y en el que he incluido una columna con el título observaciones en el que señalo la documentación que aún le queda por aportar.

Para copiar las observaciones del día anterior lo hago mediante una macro utilizando el código siguiente

1
2
3
ActiveCell.FormulaR1C1 = "=+VLOOKUP(RC[-14],'" & ActiveSheet.Previous.Name & "'!R1C1:R9C14,14,0)"
Selection.AutoFill Destination:=Range("O2:O" & Range("E" & Rows.Count).End(xlUp).Row)
Range(Selection, Selection.End(xlDown)).Select

que me busca las observaciones del día anterior y me rellena todas las filas hasta la última desde la segunda fila.

El problema se produce cuando solo tengo del día anterior una persona a la que le falta documentación, dándome error en el código

1
Selection.AutoFill Destination:=Range("O2:O" & Range("E" & Rows.Count).End(xlUp).Row)

Sin embargo si lo cambio por

1
Selection.AutoFill Destination:=Range("O1:O" & Range("E" & Rows.Count).End(xlUp).Row)

el código no me da error

Que puedo hacer para solucionar este problema

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Autofil-Autorrelleno

Publicado por Antoni Masana (498 intervenciones) el 28/06/2019 07:48:49
Una solución tonta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub ...
    ...
    ActiveCell.FormulaR1C1 = "=+VLOOKUP(RC[-14],'" & ActiveSheet.Previous.Name & "'!R1C1:R9C14,14,0)"
    On Error Goto Uno_Solo
    Selection.AutoFill Destination:=Range("O2:O" & Range("E" & Rows.Count).End(xlUp).Row)
    On Error Goto 0
    Range(Selection, Selection.End(xlDown)).Select
    ...
exit Sub
 
Uno_Solo:
    Selection.AutoFill Destination:=Range("O1:O" & Range("E" & Rows.Count).End(xlUp).Row)
    resume Next
End Sub

Si se produce un error en el primer AutoFiltro se ejecuta el segundo y sigue en el RANGE.
Seguramente hay otra solución sin el On Error pero ahora no se me ocurre.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 7 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Autofil-Autorrelleno

Publicado por Ricard (2 intervenciones) el 28/06/2019 09:51:25
Muchas gracias por su amable y altruista atención. Un cordial saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar