Prioridades en un botón

Hola nuevamente. Existe alguna manera de que al presionar un botón, ¿este hagas las cosas en orden de prioridades? Es decir que a yo variar un combobox, por ejemplo, en una userform dando les diferentes prioridades (1, 2, 3... ¿etc) el botón realice las labores en ese orden?
De ante mano gracias por su tiempo y respuesta.
Respuesta
1
Veamos si podemos aclararnos con tan pocos datos:
Si tienes un combobox y eliges un dato del combo, por ejemplo la tercera fila, el propiedad
ComboBox1. ListIndex nos devuelve el valor 2, o sea siempre uno menos que la fila.
Ahora si cuando pulsamos el botón de VALIDAR o ACEPTAR el el que corresponda, si le utilizamos Select Case podemos seleccionar el orden de prioridades, un ejemplo...
Private Sub CommandButton1_Click() ' boton de ACEPTAR
    Select Case ComboBox1.ListIndex
        Case 0
            ' las ordenes para el primer orden
        Case 1
            ' las ordenes para el segundo orden
        Case 2
            ' las ordenes para el tercer orden
    End Select
End Sub
Esta es mi ultima pregunta para ver si es posible lo que pienso hacer. Si pongo 6 combobox con valores del 1 al 6, que esas sean las prioridades, puedo hacer que recorra esas opciones con un if (condición) then o un do while y que así reconozca las prioridades o puede hacerse con ese código de manera automática, por que lo intento sin nada y me da error :s
Gracias, hasta el momento excelente, conciso y claro, muchas gracias, esta pregunta final y puntúo.
Lo que me comentas creo que si se puede hacer, pero para poder ayudarte, lo tendría que tener más clara. Si puedes concreta un poco más.
Tienes 6 combobox, ¿y quieres asignarles un numero del 1 al 6 y que al pulsar en un botón recorra los combox y ejecute unas ordenes determinadas según ese orden?
Si crees conveniente podríamos intercambiar el fichero para ser más claros, para ello posteame tu dirección y yo te envío la mía.
Muchas gracias
[email protected]
La macro resultante parece ser la siguiente:
Private Sub CommandButton1_Click()
        Sheets("gENERAL").Select
        N = 8
         ' COMBOBOX8
        If UCase(ComboBox10) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox10)
        End If
        Sheets("gENERAL").Columns(8).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX7
        If UCase(ComboBox9) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox9)
        End If
        Sheets("gENERAL").Columns(7).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX6
        If UCase(ComboBox8) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox8)
        End If
        Sheets("gENERAL").Columns(6).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX5
        If UCase(ComboBox7) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox7)
        End If
        Sheets("gENERAL").Columns(5).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX4
        If UCase(ComboBox6) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox6)
        End If
        Sheets("gENERAL").Columns(4).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX3
        If UCase(ComboBox5) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox5)
        End If
        Sheets("gENERAL").Columns(3).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX2
        If UCase(ComboBox4) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox4)
        End If
        Sheets("gENERAL").Columns(2).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        ' COMBOBOX1
        If UCase(ComboBox3) = "IGNORAR" Then
            COL = N
            N = N - 1
        Else
            COL = Val(ComboBox3)
        End If
        Sheets("gENERAL").Columns(1).Copy
        Sheets("ORDEN").Columns(COL).PasteSpecial
        Sheets("ORDEN").Select
        Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _
        , Order2:=xlAscending, Key3:=Range("C1"), Order3:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
        xlSortNormal
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas