Fórmula en excel

Buenos días me pueden ayudar a encontrar la solución en excel para que, teniendo una cantidad en la celda a1 y en la celda b1 si es mayor la cantidad en la celda b1 no me deje poner la cantidad en la celda b1
Por ejemplo,
a1 b1
50 60
   Lo que necesito es que no me deje poner la canitdad en la celda b1 porque es mayor a 50.
Gracias por su valioso tiempo. Saludos!

1 respuesta

Respuesta
1
Tengo una solución a tu requerimiento pero esta diseñada en una macro usando código de vba, es algo complicada de implementar pero funciona estos son los pasos que debes seguir:
Tienes que tener habilitada la barra de visual basic en excel, le das botón derecho del ratón sobre la barra principal de excel después de la opción "Ayuda", aparecerá un menu contextual de donde debes seleccionar la opción "visual basic", una vez seleccionada aparecerá activa esa barra
Luego debes hacer clic en la opción de "visual basic editor" (es el cuarto icono después del icono que dice seguridad...).
Entras en el editor de visual basic del lado izquierdo esta una venta que tiene como titulo "Project - VBAProject" allí están las tres hojas (Sheets) que se generan inicialmente para todo archivo de excel, debe hacer doble clic sobre Sheet1 (Sheet1) - Hoja1(Hoja1) te aparecerá del lado derecho una venta que tiene arriba 2 combos uno tiene seleccionado (General) y el otro (Declarations); debes seleccionar del primer combo la opción "Worksheet" y del segundo combo la opción "Change".
Apereceran dos subrutinas una se llama "Worksheet_SelectionChange" y la otra "Worksheet_Change" borra completamente la que se llama "Worksheet_SelectionChange" y deja solo "Worksheet_Change"
En la subrutina "Worksheet_Change" copia este código:
Private Sub Worksheet_Change(ByVal Target As Range)
... "copia aqui"
End Sub
debe quedar asi:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B1")) Is Nothing Then
    If ActiveWorkbook.ActiveSheet.Name = "Sheet1" Or ActiveWorkbook.ActiveSheet.Name = "Hoja1" Then
        If Target.Value <> "" Then
            If IsNumeric(Target.Value) Then
                If ActiveWorkbook.ActiveSheet.Name = "Sheet1" Then
                    If IsNumeric(Worksheets("Sheet1").Cells(Target.Row, Target.Column - 1)) Then
                        If CDbl(Target.Value) > CDbl(Worksheets("Sheet1").Cells(Target.Row, Target.Column - 1)) Then
                            Target.Value = 0
                        End If
                    End If
                End If
                If ActiveWorkbook.ActiveSheet.Name = "Hoja1" Then
                    If IsNumeric(Worksheets("Hoja1").Cells(Target.Row, Target.Column - 1)) Then
                        If CDbl(Target.Value) > CDbl(Worksheets("Hoja1").Cells(Target.Row, Target.Column - 1)) Then
                            Target.Value = 0
                        End If
                    End If
                End If
            End If
        End If
    End If
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas