es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El evento de cambio de Combobox se activa por cualquier cambio en la hoja de cálculo.

Intenté tener un ComboBox en mi hoja de cálculo, pero no funciona como quiero. El problema que tengo es que el evento del ComboBox (desplegable) se activa por cualquier cambio que se haga en la hoja de trabajo. Por ejemplo, tengo un ComboBox vinculado a la celda A1, cada vez que cambio el valor en la celda H9 (o cualquier otra celda), se activa el desplegable del ComboBox. Quiero activar el desplegable del ComboBox solo cuando cambie la celda vinculada, que es A1.

Private Sub ComboBox1Change()
'USO DE LA CASILLA DE CATEGORÍA DE CAÍDA ///////////////////////////////////////////////
Dim Use As String
Dim Ind As String
Use = Worksheets("PEC Calculator").Range("B8").Value
Ind = Worksheets("PEC Calculator").Range("B3").Value
If ComboBox1.Value <> "" Then
ComboBox1.ListFillRange = "UCList"
Me.ComboBox1.DropDown
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
Dim tblA As ListObject
Dim nRows As Long
Dim nCols As Long

Set tblA = Worksheets("PEC Calculator").ListObjects("ATableINPUT")

If tblA.Range(2, 2).Value = "TableA1" Then
    If Range("B4").Value = "Batch" Then
    tblA.Range(3, 2) = 0.000001
    Else
    tblA.Range(3, 2) = 0.000001
    End If
End if
Application.EnableEvents = True
End Sub

¿Hay alguna manera de solucionar este problema? ¿Alguna idea?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes solucionar este problema utilizando el código proporcionado anteriormente. El código verificará si el valor en la celda B8 es “TableA1” y si el valor en la celda B4 es “Batch”. Si se cumplen ambas condiciones, el código establecerá el valor en la celda B3 en 0.000001. Esto evitará que el ComboBox se active cuando se cambie cualquier otra celda.

Comments are closed.