Ordinare elenco in ComboBox

Anonimo
2013-12-10T15:23:31+00:00

Ciao a tutti.

Da una UserForm1,  carico dei dati in una una ComboBox2

facendo uso del seguente codice:

Private Sub UserForm_Initialize()

  Dim rng As Range 

  Set rng = Workbooks("AAvvio.xlsm").Sheets("ArchivioFornitori").Range("B4:F350")

  With Me.ComboBox2

    .RowSource = ""                                                           

    .ColumnCount = 5

    .ColumnWidths = "30;0;100;160;100"                                                 

    .List = rng.Value

  End With 

End Sub

Vorrei che questi dati, quando apro la ComboBox2, apparissero

ordinati da A4 ad  F350 in ordine dalla  A  alla  Z  in base all’elenco della colonna E.

E' possibile.

Un grazie a chi può aiutarmi.

Ciao.

Nunzio.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-12-11T16:50:58+00:00

Ciao Andrea.

Credo proprio di aver fatto una grande confusione.

Devo le mie scuse a tutti (dovrei frustarmi).

Per  il momento penso di aver risolto imponendo di

riordinare, il foglio d'origine, così:

Private Sub Worksheet_Activate()

  Rem   +++   Inizio ordina in ordine dalla A alla Z  per colonna E (Cognome)   +++

  Range("A4:AZ400").Select

  ActiveWorkbook.Worksheets("ArchivioFornitori").Sort.SortFields.Clear

  ActiveWorkbook.Worksheets("ArchivioFornitori").Sort.SortFields.Add Key:=Range _

      ("E4:E400"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("ArchivioFornitori").Sort

      .SetRange Range("A4:AZ400")

      .Header = xlGuess

      .MatchCase = False

      .Orientation = xlTopToBottom

      .SortMethod = xlPinYin

      .Apply

    End With

  Rem   +++   Fine ordina in ordine dalla A alla Z  per colonna E (Cognome)   +++

  Range("A1").Select

End Sub

Di nuovo mi scuso con tutti.

Tante, tante grazie.

Ciao.

Nunzio.

La risposta è stata utile?

0 commenti Nessun commento

8 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-12-10T17:11:55+00:00

    Ciao Andrea.

    Grazie della risposta.

    Se non esiste altra soluzione credo che la Tua

    sia un'ottima soluzione.

    Grazie.

    Ciao.

    Nunzio.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-12-10T16:47:42+00:00

    Ciao a tutti.

    Da una UserForm1,  carico dei dati in una una ComboBox2

    facendo uso del seguente codice:

    Private Sub UserForm_Initialize()

      Dim rng As Range 

      Set rng = Workbooks("AAvvio.xlsm").Sheets("ArchivioFornitori").Range("B4:F350")

      With Me.ComboBox2

        .RowSource = ""                                                                     

        .ColumnCount = 5

        .ColumnWidths = "30;0;100;160;100"                                                 

        .List = rng.Value

      End With 

    End Sub

    Vorrei che questi dati, quando apro la ComboBox2, apparissero

    ordinati da A4 ad  F350 in ordine dalla  A  alla  Z  in base all’elenco della colonna E.

    E' possibile.

    Un grazie a chi può aiutarmi.

    Ciao.

    Nunzio.

    Ciao Nunzio,

    se non puoi ordinare il range 'originale', utilizza un foglio di appoggio, eventualmente nascosto, nel quale copiare il range B4:F350, ordinalo in base alla colonna E ed infine fornisci quest'ultimo riferimento alla .List del ComboBox.

    Andrea.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-12-10T16:32:42+00:00

    Ciao Mauro.

    Scusa l'ignoranza ma non capisco:

     forse mi ordina da A1 ad A100 e poi A9.

     Se è coì non esiste un modo per ordinare da A1 ad A350 secondo l'ordine della colonna E.

    Grazie.

    Ciao.

    Nunzio.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-12-10T15:46:33+00:00

    Un grazie a chi può aiutarmi.

    Ciao.

    Nunzio.

    Vedi:

    http://stackoverflow.com/questions/15543399/sort-combobox-vba

    Ma.. ma A1, A9, A100 non si allineeranno come pensi tu, ma:

    A1

    A100

    A9

    Per riordinare in modo corretto, devi utilizzare: A001, A009, A100

    La risposta è stata utile?

    0 commenti Nessun commento