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.
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.
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