quando posti del codice formattalo come codice, così non prende tutto quello spazio
per quanto riguarda l'errore, dopo aver letto il codice presumo che il controllo "lista" sia una listbox
nel caso fosse così, se non selezioni niente sulla lista il controllo assume valore "Null", per cui ti genera l'errore di inserimento
la cosa da fare è evitare di confrontare il valore di quel controllo con Null, e questo puoi farlo inserendo una If mirata, subito dopo il comando "For Each varCampo in Me"
' Controllo che il campo in questione non sia la ListBox "lista"
If varCampo.Name <> "lista" then
e fai tutti il resto. poi, prima del "Next" inserisci "End If"
se hai altre ListBox e vuoi che nessuna sia controllata, invece di
' Controllo che il campo in questione non sia la ListBox "lista"
If varCampo.Name <> "lista" then
scrivi
' Controllo che il campo in questione non sia una ListBox
If varCampo.ControlType <> 110 then
questo nel caso l'errore visualizzato sia quello del MsgBox dei dati indispensabili
Se così non fosse, descrivi l'errore che ti viene generato e vediamo di capire meglio
AlPanix