Asignar datos dentro de un combobox

Sr dante, necesito colocar datos dentro de los COMBOBOX 1 y 2 que se ven en la foto, al

cb1 turno :  A , B , C , D2

cb2 PTR : 801,803,805

Pero al guardar el formulario necesito que también me capture y me guarde en las celdas lo seleccionado de cada combobox

2 respuestas

Respuesta
2

Te anexo el código.

Private Sub UserForm_Initialize()
    Me.TXTFECHA = Date
    Me.TXTFECHA.Enabled = False
    '
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
        Call Agregar(ComboBox1, Cells(i, "A").Value)
        Call Agregar(ComboBox2, Cells(i, "B").Value)
    Next
End Sub
'
Sub Agregar(combo As ComboBox, dato As String)
    For i = 0 To combo.ListCount - 1
        Select Case StrComp(combo.List(i), dato, vbTextCompare)
            Case 0: Exit Sub 'ya existe en el combo y ya no lo agrega
            Case 1: combo.AddItem dato, i: Exit Sub 'Es menor, lo agrega antes del comparado
        End Select
    Next
    combo.AddItem dato 'Es mayor lo agrega al final
End Sub

.

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

.

Avísame cualquier duda

.

Te envíe correo con la ultima macro que le agregue los datos que quiero ingresar, pero.. me falta programarlos para que puedan ser guardados. espero tu respuesta atento , es el form Index

Solamente te falta poner estas líneas

 'Insertar datos capturados
        Cells(fila, "A").Value = Index.ComboBox1.Value
        Cells(fila, "B").Value = Index.ComboBox2.Value

Me depura al presionar boton dos veces al exportar el pdf... que podria hacer?

A qué te refieres con "me depura".

Estamos hablando del botón guardar del form Index?

El código sería este:

Private Sub BTNGUARDAR_Click()
    Dim fila As Long
    Dim duplicados As Boolean
    'Obtener la fila disponible
    'fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1
    fila = Sheets("Ingresar").Range("A" & Rows.Count).End(xlUp).Row + 1
    duplicados = False
    If Me.TXTUBICACION = "" Or Me.TXTEQUIPO = "" Or Me.TXTFECHA = "" Or Me.TXTINTERVENCION = "" Or Me.TXTTERMINO = "" Or Me.TXTDESCRIPCION = "" Then
        MsgBox "No dejar ningun campo vacio ", vbOK
    Else
        'Insertar datos capturados
        Cells(fila, "A").Value = Index.ComboBox1.Value
        Cells(fila, "B").Value = Index.ComboBox2.Value
        Cells(fila, 3).Value = Index.TXTUBICACION.Value
        Cells(fila, 4).Value = Index.TXTEQUIPO.Value
        Cells(fila, 5).Value = CDate(Index.TXTFECHA.Value)
        Cells(fila, 6).Value = Index.TXTINTERVENCION.Value
        Cells(fila, 7).Value = Index.TXTTERMINO.Value
        Cells(fila, 8).Value = Index.TXTDESCRIPCION.Value
        'Limpiar TXT
        Index.TXTUBICACION.Value = ""
        Index.TXTEQUIPO.Value = ""
        Index.TXTINTERVENCION.Value = ""
        Index.TXTTERMINO.Value = ""
        Index.TXTDESCRIPCION.Value = ""
        MsgBox "Datos Correctamente Ingresados"
    End If
End Sub

En ese form no hay botón para exportar a pdf. 

Ya saber que con todo gusto te sigo apoyando, valora esta respuesta para cerrar el tema de guardar los datos de los combos 1 y 2 a la hoja. Y abre una nueva pregunta con tu problema del pdf. Y me explicas con detalle qué estás haciendo, form, fechas, botones, descripción del error, en qué línea se detiene, etc.

Ya lo probé la generación de Pdf varias veces y no me envía error. Tienes que explicar qué haces qué error te envía y cuál línea se detiene.

asdC

Cuando abro exporto un pdf ningún problema, pero si lo apretó dos veces el botón me bota el programa, estando abierto el que exporta no se puede exportar otro y me bota el programa,¿quizás se pueda bloquear el botón? ¿Qué opción podría ser?

Pero eso corresponde con otra macro. Valora esta respuesta y en otra revisamos el caso del pdf.

Tal vez sea por tu versión de office. Porque con mi versión no tengo problemas puedo presionar el botón de pdf varias veces y no tengo problema

Respuesta
1

Esto es para llenar los combos con esos datos fijo

Private Sub UserForm_Initialize()
Cb1Turno. AddItem "A"
Cb1Turno. AddItem "B"
Cb1Turno. AddItem "C"
Cb1Turno. AddItem "D2"
Rem otro combo
Cb2ptr. AddItem "801"
Cb2ptr. AddItem "803"
Cb2ptr. AddItem "805"
End Sub

Debes especificar la hoja y que celdas deseas que se guarden los datos para poderte ayudar con lo de guardar los datos

En la HOJA "Ingresar" en las celdas A Y B

Bueno como no se los nombres de los otros controles del formulario los deje para que lo especifiques.

Private Sub CmdGuardar_Click()
F = 1
Do While Sheets("Ingresar").Range("A" & F) <> ""
F = F + 1
Loop
Sheets("Ingresar").Range("A" & F) = Cb1Turno
Sheets("Ingresar").Range("B" & F) = Cb2ptr
Rem aca colocas los otros campos del formulario para que los llene solo debes remplazar los nombre de los cuatros de texto del formulario
Sheets("Ingresar").Range("C" & F) = xxx
Sheets("Ingresar").Range("D" & F) = xxxx
Sheets("Ingresar").Range("E" & F) = xxxx
Sheets("Ingresar").Range("F" & F) = xxx
Sheets("Ingresar").Range("G" & F) = xxx
Sheets("Ingresar").Range("H" & F) = xxxx

End Sub

Private Sub UserForm_Initialize()
Cb1Turno. AddItem "A"
Cb1Turno. AddItem "B"
Cb1Turno. AddItem "C"
Cb1Turno. AddItem "D2"
Rem otro combo
Cb2ptr. AddItem "801"
Cb2ptr. AddItem "803"
Cb2ptr. AddItem "805"
End Sub

Si alguna duda me comentas

No se te olvide valorar la respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas