Te anexo una macro.
Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: fecale
9. Aceptar.
10. Para ejecutarla dale click a la imagen.
Sub fecale()
'Calcula fecha aleatoria
'Por.Dam
ufila = Range("A" & Rows.Count).End(xlUp).Row
celda = "C2"
tot = ufila - 1
dias = Range("E2") - Range("D2") + 1
pror = Int(tot / dias)
Range(celda).FormulaR1C1 = "=RAND()"
Range("B2:B" & ufila).ClearContents
For i = 2 To ufila
Do While True
valor = Int(Range(celda) * 10)
If valor > 0 And valor < dias + 1 Then
cuenta = Application.CountIf(Range("B2:B" & ufila), valor)
If cuenta <= pror Then
'Cells(i, "B") = Range("D2") - 1 + valor
Cells(i, "B") = valor
Exit Do
End If
End If
Range(celda).FormulaR1C1 = "=RAND()"
Loop
Next
For i = 2 To ufila
Cells(i, "B") = Cells(i, "B") + Range("D2") - 1
Next
End Sub
Indicaciones:
- Para ejecutar la macro requiero de una celda que no ocupes para poner una fórmula. En la macro estoy ocupando la celda C2, si quieres puedes cambiarla por otra celda, solamente tienes que cambiar en la macro, en esta línea, la nueva celda.
celda = "C2"
Por ejemplo, si vas a poner la celda “F1”
En la macro debe quedar así:
celda = “F1”
- Funciona para todos los nombres que pongas en la columna A
- Los nombres deben empezar en la celda A2, supongo que en la A1 tienes un encabezado.
- Los rangos de fechas deben estar en D2 y E2
- El calculo aleatorio de las personas, puede variar en cantidad, por ejemplo en un rango de 5 días y 30 personas, algunas fechas quedarán en 7 personas y otras fechas quedarán en 4 personas. Pero en general estarán promediando el mismo número de fechas.
Prueba y me comentas.
Saludos. Dam
Si es lo que necesitas.