Saltar al contenido

ComboBox en celdas varias.


Recommended Posts

publicado

¡Hola! 

Para cargar un ComboBox en un celda (con valores predeterminados de una lista) estoy utilizando el siguiente código:

 


Private Sub mycombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Or KeyCode = 9 Then
        Range(mycombo.LinkedCell).Offset(1).Select
        If KeyCode = 13 Then ActiveCell.Offset(-1).Select
    End If
End Sub


Private Sub mycombo2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If KeyCode = 13 Or KeyCode = 9 Then
        Range(mycombo.LinkedCell).Offset(1).Select
        If KeyCode = 13 Then ActiveCell.Offset(-1).Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Rng As Range, cmb As Object

    On Error Resume Next
    ActiveSheet.Shapes("mycombo").Delete
     ActiveSheet.Shapes("mycombo2").Delete
    On Error GoTo 0
    
    With Target
        If .Column <> 2 Or .Count > 1 Then Exit Sub
        .RowHeight = 30
        Set cmb = ActiveSheet.OLEObjects.Add(classtype:="Forms.ComboBox.1", Link:=False, _
        Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
        cmb.ListFillRange = "N1:N20"
        cmb.LinkedCell = .Address
        cmb.Name = "mycombo"
        cmb.Activate

  
  ¿Cómo separo estos dos código pero que funciones ambos? 
  
   If .Column <> 3 Or .Count > 1 Then Exit Sub
        .RowHeight = 30
        Set cmb = ActiveSheet.OLEObjects.Add(classtype:="Forms.ComboBox.1", Link:=False, _
        Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
        cmb.ListFillRange = "O1: O4"
        cmb.LinkedCell = .Address
        cmb.Name = "mycombo2"
        cmb.Activate
    End With
 
End Sub

El primer ComboBox funciona pero el segundo ya no aparece, no se como separar el código entre sí para que funcionens los dos (use un Elfe If pero me marca error).

Gracias. 

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.