Anche a me sembra il codice sembra corretto, per cui mi pare importante a questo punto sapere che numero di errore VB riporta, magari aggiungendo un Case Else ==> numero di errore.