Ciao, grazie soprattutto dei vostri suggerimenti, sono utili in tutti i sensi e nel caso le caselle ComboBox siano rinominati progressivamente è più che sufficiente ciò che aveva suggerito TheTrueter
Dim I As Long
For I = 1 To 8 '-> Oppure il numero massimo dei tuoi controlli
With Me.Controls("cbo" & I)
.Requery
If .ListCount <= 1 Then .Value = .ItemData(0)
End With
Next I
Questo è perché vengono inserite automaticamente tutti gli altri valori nella ComboBox altrimenti inserisco manualmente se ci sono più voci.
Inoltre anche nel caso non volessi rinominare perché ormai sono già strutturati si potrebbe usare attraverso i TAG numerati progressivamente.
For Each ctl In Me.Controls
For I = n To 8
If ctl.Tag = I Then
If ctl.ControlType = acComboBox Then
ctl.Requery
If ctl.ListCount <= 1 Then ctl = ctl.ItemData(0)
End If
End If
Next I
Next
Set ctl = Nothing
In entrambi i casi vanno bene.
Grazie anche a tutti gli altri che mi avete suggerito.
Antonio