Saludos Sr. @Héctor Miguel agradecido por sus comentarios.
Un poco de contexto, el resultado, que pretendo obtener en la Celda "E11" dependiendo de las horas introducidas en en la Celda "D11" me permite obtener los descansos obligatorios por Ley para periodos de tiempo determinados de alli que estoy tomando los cuatro casos más comunes, por tal motivo la Celda "D11" solo podrá adquirir valores comprendidos entre las 0 Horas y las 28 Horas mientas que la Celda "E11" exclusivamente podrá reflejar como resultado cuatro valores 0, 1, 2 y 3, ya que siendo un requisito legal no existe la posibilidad de obtener otro resultado si los valores de la Celda "D11" están comprendidos entre 0 Horas y 28 Horas, para acotar más el resultado y no dejar intervalos abiertos modifique la última fórmula:
=SI(Y($D8>=21;$D8<29);3;0)
Adjunto nuevamente el archivo con las correcciones mencionadas así como con los resultados esperados conforme me solicitó.
Libro1_110914.xlsx
Por
jues, · publicado
tengo una hoja en la cual necesito seleccionar un rango aleatoriamente, me explico:
columna "A linea 1 a la 10 con datos" capturados manualmente
columna "B linea 1 a la 10 con datos" capturados manualmente
columna "C linea 1 a la 5 con datos" capturados automaticamente
quiero seleccionar de la "C6:C10" y a cada una de las celdas que les falta datos intoducir un dato en forma automatica
mi rutina es la siguiente
Dim celda As range
range("c1").Select 'columna con datos automaticos
ActiveCell.End(xlDown).Activate 'para saber hasta donde tengo datos
ActiveCell.Offset(1, -1).Select 'para saber que datos me faltan en la columna c
r1 = ActiveCell.Address 'establezco el inicio del rango (en este caso sera "B6")
ActiveCell.End(xlDown).Activate 'hasta el ultimo registro escrito
r2 = ActiveCell.Address 'establezco el fin del rango (en este caso sera "B10")
rango = r1 & ":" & r2 'este seria mi rango pero no me lo acepta ("B6:B10")
ActiveCell.Offset(0, 1).Select 'paso el curso a la columna c
For Each celda In Selection.Cells 'bucle, celda que seria la columna c y le falta el dato
ActiveCell.End(xlUp).Activate 'ultimo dato de la columna
ActiveCell.Offset(1, -1).Select 'me paso a la columna b para saber si tiene datos
If ActiveCell <> " " Then 'comparo si la columna "B#" tiene datos
ActiveCell.Offset(0, 1).Select 'me paso a la columna "C#"
ActiveCell = "Julian" 'y copio la informacion faltante
End If 'termino la condicion
Next 'y continuo con el siguiente registo que seria en este caso la C7 si no,,, termino
End Sub
pero solo me lo hace en el primer registro como si el rango solo tuviera un registro no continua con el siguiente