ComboBox a 2 colonne

Anonimo
2010-01-19T15:40:38+00:00

Salve a tutti,

ho una userform all'interno di un foglio xls che deve essere popolata a 2 colonne con i valori presi dal foglio1 e dal foglio2

esempio del risultato della combo:

Articolo1 12,50

Articolo2 10,46

dove la prima colonna arriva dal foglio1 la seconda dal foglio2.

ho provato ad usare additem ma non mi riempie la seocnda colonna.

Il codice è :

If Cells(j, ct).Value <> "" Then

valore1 = (Cells(j, ct).Value)

End If

Sheets("Intestazioni").Activate

If Cells(j, ct).Value <> "" Then

valore2 = (Cells(j, ct).Value)

End If

If Not IsNull(valore1) And Not IsNull(valore2) Then

cmbp1.additem(valore1 , valore2) ---->ERRORE DI SINTASSI

End If

come fare per popolare una combo multi colonna ?

grazie a tutti<!-- </EdIndex> --><!-- EndUnderlineMarker -->

Microsoft 365 e Office | Installare, riscattare, attivare | Per la casa | Altro

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
2010-01-19T22:31:19+00:00

un esempio ...

Option Explicit

'per l'esempio incolla la routine

'in un modulo standard di una cartella

'contenente 2 fogli (foglio1, foglio2)

'e una combobox (controllo activex)

'ComboBox1 nel foglio1

Sub popola_combo()

Dim rng As Excel.Range

Dim rng2 As Excel.Range

Dim v(), i As Long, r As Long

r = 10 'righe totali

Set rng = ThisWorkbook.Worksheets("foglio1").[a1]

Set rng2 = ThisWorkbook.Worksheets("foglio2").[a1]

With rng

    'carico dati di esempio

    For i = 1 To r

        .Offset(i - 1) = .Offset(i - 1).Address(, , , True)

        rng2.Offset(i - 1) = rng2.Offset(i - 1).Address(, , , True)

    Next

    'due colonne

    .Parent.ComboBox1.ColumnCount = 2

    'carico matrice per proprietà list

    ReDim v(r - 1, 1) 'v(righe-1,colonne-1)

    For i = 0 To r - 1

        v(i, 0) = .Offset(i)

        v(i, 1) = rng2.Offset(i)

    Next

    .Parent.ComboBox1.List = v

End With

End Sub

saluti

r

La risposta è stata utile?

0 commenti Nessun commento

0 risposte aggiuntive

Ordina per: Più utili