Enumerar fechas en una celda de excel

Buenas,
Tengo una hoja de calculo para controlar las vacaciones y turnos libres de los trabajadores de mi empresa, con un calendario en el que marco con una "V" los días de vacaciones.
Y necesito que en una celda de otra hoja del libro me enumere las fechas en la que los trabajadores han tenido vacaciones.
¿Es posible?

1 respuesta

Respuesta
1
Creo que la consulta está quedando en el tablón porque es muy general... no se sabe cómo están los datos y por ende cómo obtener las fechas de las celdas marcadas con V...
Si pudieras dejar imagen o la hoja en algún sitio como rapidshare quizás pueda ayudarte.
A ver si consigo aclararte algo con estas imágenes:

En esta imagen se puede ver como van puestas las "V" en el calendario, también pongo "M" para medios días de vacaciones. Los números son para otro calculo que no viene al caso.

En esto otra imagen, en la columna "Días Libres", es donde se deberían enumerar las fechas donde están las "V" y las "M", tal cual aparecen ahí. Ahora las estoy poniendo manualmente pero conforme avance al año se volverá complicado controlarlo.
A ver si con esto puedo aclarar algo. Gracias por las respuestas.
Ahora sí, porque no es lo mismo tener los días como col que como filas...
Bien, el principal problema que se observa es que no hay como relacionar los nombres de la hoja Vacaciones con los de la hoja 2011. Por lo tanto al no haber datos coincidentes no podrás utilizar ni fórmulas ni macros.
Te sugiero utilizar la fila 1 de hoja '2011' para numerar a las col con la misma numeración que aparece en hoja Vacaciones.
Así, si imagino que el nro 5 (ANA MARÍA SERRANO GARCÍA) es ANA MARI en hoja 2011 entonces colocá 5 en la celda J1. Y así con todos.
Si esto te es posible, confírmame para que te desarrolle la macro, ya que con fórmulas solo obtendría la 'cantidad' de V y no la cadena con las fechas.
Sí que es posible. Espero tu respuesta.
Gracias.
Bien, entonces primero rellená la fila 1 de hoja 2011 con los nros de la col A que aparece en hoja Vacaciones.
Luego entrá al Editor (con Alt +F11), insertá un módulo y allí copiá esta rutina.
Sub listaVacaciones()
'x Elsamatilde
Application.ScreenUpdating = False
'recorro la col C hasta su fin
Range("C2").Select
While ActiveCell.Value <> ""
    'busco el nro de registro en hoja '2011' para armar la cadena de V
'el nro lo toma de la col A. guardo el nro de fila para regresar
dato = ActiveCell. Offset(0, -2)
    filx = ActiveCell.Row
    Set busco = Sheets("2011").Range("B1:IV1").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
    If Not busco Is Nothing Then
        'significa que lo encontró y debo crear la cadena
        cadena = ""
        col = busco.Column - 1
        Sheets("2011").Select
        'ahora recorro la col A hasta su fin
        ActiveSheet.Range("A3").Select
        While ActiveCell.Value <> ""
            'si la col del registro encontrado tiene V, guardo su fecha en la cadena
            If ActiveCell.Offset(0, col) = "V" Then
                cadena = cadena & ActiveCell & ", "
            End If
            ActiveCell.Offset(1, 0).Select
        Wend
        'al finalizar con ese registro completo la celda en hoja Vacaciones
        Sheets("Vacaciones").Select
        Cells(filx, 4).Select
        ActiveCell.Value = cadena
    Else
        'si no encuentra el reg deja el campo vacío
        ActiveCell.Offset(0, 1) = ""
    End If
    Set busco = Nothing
Cells(filx + 1, 3).Select
Wend
End Sub
Ahora, en tu hoja Vacaciones podes colocar un botón y asignarle esta rutina, o asignarle un atajo de teclado.
En la página de macros de mi sitio encontrarás el paso a paso para esto.
Pruébala y si todo quedó resuelto no olvides finalizar la consulta.
Pues no hace nada.
He copiado la rutina y se la he asignado a una autoforma, cuando la ejecuto no hace nada y el cursor se va a la celda C21 ce la hoja Vacaciones. Las fechas deberían aparecer en las celdas de la columna E del la hoja Vacaciones correspondientes a cada trabajador.
Seguramente habré hecho algo mal pero no se el qué.
También la he probado quitándole las lineas con tus comentarios que aparecían en verde.
Gracias
Noooo, si quitas los comentarios luego no sabrás que hace cada línea. Por favor !
Causas posibles: las col B y C (que no se ven en la imagen) de hoja '2011' están vacías:
En ese caso en la rutina donde dice:
Set busco = Sheets("2011").Range("B1:IV1").Find(dato, Lo...............
Reemplazá B1 por D1
Otras causas: han cambiado de nombre las hojas, la rutina no está en un módulo o ... abriste el libro sin habilitar las macros.
Revisá esto que te menciono y comentame . Si no lo podes ejecutar dejame un correo para enviarte el ejemplo que confecioné según tu imagen (no tenemos acceso a los correos que dejan los usuarios aquí) o escribime al que encontrarás en mi sitio.
Las columnas B y C son otros trabajadores. Olvide comentar que también ordene las columnas según el numero superior. Seguí todos los pasos según me indicaste (los comentarios se los he puesto otra vez) y si que me deja ejecutarla pero no me da los resultados en ninguna celda.
Mi correo es [email protected]
Gracias
Te acabo de enviar el modelo.
Sdos
Elsa
YA, muchas gracias.
No me dí cuenta de que tenia una columna oculta y hay es donde me estaba poniendo las fechas. Culpa mía.
Ahora me gustaría rizar un poco más el rizo.
¿Sería posible que también me pusiera las fechas de las celdas donde hay una "M" y que las fechas pertenecientes a esta letra aparecienran en rojo?.
Y podría aparecer las fecha un poco más corta, por ejemplo solo el día y el mes (dd/mm).
Muchas gracias.
No abuses...
Te envié nuevamente el libro.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas