Inserimento dati in una ComboBox con controllo nomi uguali

In un modulo Bas inserire:

'*********************************************
'Questa routine serve per l'inserimento di dati
'in una ComboBox. Tra le altre cose utilizza la
'Function CheckDup, per controllare se vi sono
'inserimenti di parole uguali.
'*********************************************

Public Sub InsTestoCombo(cbo As ComboBox, KeyAscii As Integer, riga As Integer)
If KeyAscii = 13 Then
    If riga = -1 Then
        If cbo.Text <> "" Then
            If CheckDup(cbo.Text, cbo) = False Then
                cbo.AddItem cbo.Text
                cbo.Text = ""
            End If
        End If
    Else
        If cbo.Text = "" Then
            cbo.RemoveItem (riga)
        Else
            cbo.List(riga) = cbo.Text
        End If
            riga = -1
    End If
End If
End Sub

'*********************************************
'Funzione per verificare di non caricare eventuali nomi
'duplicati in un combobox
'MyValue = Nome o valore inserito nella ComboBox
'MyCombo = la ComboBox dove si sta effettuando
' l'inserimento
'*********************************************

Function CheckDup(MyValue As Variant, MyCombo As ComboBox) As Boolean
Dim i As Integer
For i = 0 To MyCombo.ListCount - 1
    If UCase(MyCombo.List(i)) = UCase(MyValue) Then
        CheckDup = True
        Exit Function
    End If
Next i
CheckDup = False
End Function

Nel Form inserire una ComboBox ed il seguente codice:

Option Explicit

 Dim riga as integer

 Private Sub Combo1_Click()
 riga = Combo1.ListIndex
 End Sub

 Private Sub Combo1_KeyPress(keyascii As Integer)
 InsTestoCombo Combo1, keyascii, riga
 End Sub

Testato su: Tutti i Sistemi operativi