Saltar al contenido

Ir a una hoja de otro libro, según el valor de una celda


Recommended Posts

publicado

Activar una hoja de otro libro, llamada igual que el contenido de una celda

Hola a todos, quiero agradecerles por lo mucho que me ayudaron sin que ustedes lo sepan, ya que es la primera vez que posteo aquí.

Desarrollé una planilla (control.xls) que calcula la cantidad de horas de personal por semana. Solo posteo la última hoja que es la que resume todo el trabajo y es la que importa. Lo que necesito ahora es que, la cantidad de horas que hizo cada persona, se copie en otro libro (historial.xls) que tiene el historial de todas las semanas de cada empleado (cada hoja de ese segundo libro, se corresponde con un empleado)

Al tener una por cada empleado, renombré cada cada hoja con Apellido y nombre, exactamente igual que en el libro de control. Lo que necesito saber es de qué manera puedo copiar los valores de la semana en la planilla de control y luego pegarlos en la planilla historial correspondiente a cada empleado.

Adjunto ambos archivos para ser más descriptivo.

Muchas gracias a todos aquellos que se tomaron el tiempo de leer mi consulta!! :D

control.xls

historial.xls

Invitado Gengis Khan
publicado

Hola:

Pruebe ejecutando la macro del adjunto mediante el botón "ACTUALIZAR HISTORIAL"

Ambos archivos han de estar en el mismo directorio.

Saludos

control.xls

publicado

Muchas gracias Gengis!! Es excelente tu trabajo. Funcionó casi todo a la perfección.

No quisiera abusar, pero hay algunas cosas que tendría que ajustar y que tal vez no sean difíciles de hacer.

En primer lugar, la fecha que introduce en el historial de cada empleado debería ser 7 días posterior a la primera que aparece en el talon.

Por otro lado, al ejecutarlo con el archivo de datos reales, la macro funciona en todos los empleados menos en uno. El nombre es "Gonzalez Eduardo" (sin comillas). Ya he chequeado que los nombres de talones y de pestaña sean iguales. Pero es algo raro: la cantidad de horas la pega bien en la planilla, pero el valor y el importe total aparecen como #N/A

Agradezco infinitamente su ayuda!

Invitado Gengis Khan
publicado

Hola:

Si no sube el archivo no voy a poder ayudarle.

Saludos.

publicado

Gengis, gracias por su respuesta. Adjunto los archivos originales.

El macro donde se encuentra el código que usted programó, se ejecuta mediante el botón "ACTUALIZAR" de la solapa "Talones".

Si se fija en historial.xls, como le decía, verá que en la solapa "Gonzalez Eduardo" no se pegan los datos correctos. Sino que aparece #N/A.

Agradezco con antelación su ayuda.

Mis disculpas ya que no pude adjuntar los archivos al hilo debido a que pesaban 250kb. Aquí dejo el enlace para descargarlos. My Files

Invitado Gengis Khan
publicado

Hola:

El problema viene porqué existe un talón en blanco al final.

La macro ya contempla esta posibilidad.

También he corregido la fecha del historial.

Sub Actualizar()

Dim Talones As Worksheet, Horas As Double


Application.ScreenUpdating = False


Set Talones = ThisWorkbook.Sheets("Talones")
Workbooks.Open ThisWorkbook.Path & "\historial (2).xls"


On Error GoTo SeHaEncontradoUnError
For x = 1 To Talones.Range("A" & Rows.Count).End(xlUp).Row Step 7
If Not Trim(Talones.Range("A" & x).Value) = "" Then
If Talones.Range("C" & x + 3) > 0 Then
Horas = CDbl(Talones.Range("C" & x + 3)) * 24
Sheets(Talones.Range("A" & x).Value).Select
For xx = 4 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & xx) = Talones.Range("B" & x + 1) + 7 Then Exit For
Next
Range("A" & xx) = Talones.Range("B" & x + 1) + 7
Range("B" & xx) = Talones.Range("C" & x + 4)
Range("C" & xx) = Talones.Range("C" & x + 3) * 24
Range("D" & xx) = Talones.Range("F" & x + 3)
End If
End If
GoTo Siguiente
SeHaEncontradoUnError:
MsgBox "No existe el empleado o hay datos erróneos en el talón de la fila: " & x
Siguiente:
Next


ActiveWorkbook.Save
ActiveWorkbook.Close
MsgBox "*** Historial actualizado ***", vbinformatión, "Actualización de datos"
'-----------------------------------------------------------------------------


End Sub

[/CODE]

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.