Macro para modificar registro de combobox

Para dante

Buen dia

Necesito hacer modificaciones a registros que aparecen en un combobox pero no se como hacerlo, he tratado pero no me funciona lo que he hecho.

Si trato de cambiar el contenido del combobox no lo acepta si lo reconoce como un nuevo registro y tengo que borrar el que intente modificar.

1

1 respuesta

Respuesta
1

Te anexo la macro

Private Sub cmd_Agregar_Click()
'Por.Dante Amor
    '
    If Not UCase(Left(TextBox1, 1)) Like "[A-Z]" Then
        MsgBox "Nombre inválido", vbInformation + vbOKOnly
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    If OptionButton1.Value = False And OptionButton2.Value = False And OptionButton3.Value = False And OptionButton4.Value = False And OptionButton5.Value = False Then
        MsgBox "Debes seleccionar algún botón de Cliente. Luego ejecuta nuevamente el botón de guardado.", , "ERROR"
        Exit Sub
    End If
    '
    If OptionButton6 = False And OptionButton7 = False Then
        MsgBox "Selecciona la opción de agregar o modificar"
        Exit Sub
    End If
    '
    If TextBox1 = "" Then
        MsgBox "Escribe el nuevo nombre"
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    If OptionButton6 Then   'Agregar registro
        Set b = Columns("A").Find(TextBox1, lookat:=xlWhole)
        If Not b Is Nothing Then
            MsgBox "El nombre ya existe"
            TextBox1.SetFocus
        End If
        Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1).Select
    ElseIf OptionButton7 Then ' modificar
        If cbo_Nombre.ListIndex = -1 Then
            MsgBox "Para modificar un nombre, primero tienes que seleccionar uno"
            cbo_Nombre.SetFocus
            Exit Sub
        End If
    End If
    'Aqui es cuando agregamos o modificamos el registro
    ActiveCell = TextBox1
    ActiveCell.Offset(0, 1) = txt_numero
    ActiveCell.Offset(0, 2) = txt_conteofisico
    ActiveCell.Offset(0, 3) = txt_fechaven
    ActiveCell.Offset(0, 4) = txt_numerolote
    ActiveCell.Offset(0, 5) = txt_nukardex
    ActiveCell.Offset(0, 6) = txt_fekardex
    ActiveCell.Offset(0, 7) = txt_ultimosaldo
    ActiveCell.Offset(0, 8) = txt_observaciones
    ActiveCell.Offset(0, 9) = ArchivoIMG
    '
    Columns("J").EntireColumn.Hidden = True
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A1")
        .SetRange Range("A2:J" & Range("A" & Rows.Count).End(xlUp).Row)
        .Header = xlNo: .MatchCase = False: .Orientation = xlTopToBottom
        .SortMethod = xlPinYin: .Apply
    End With
    '
    LimpiarFormulario
    OptionButton6 = False: OptionButton7 = False
    cbo_Nombre.SetFocus
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas