Salve a tutti.
Premetto che di VBA non ne mastico per niente.
Ho da poco scaricato un applicativo per excel che al primo utilizzo richiede un codice seriale da inserire in una maschera ad hoc.
Cliccando sul pulsante della maschera che compare all'avvio del programma si finisce su una pagina web che riporta il codice seriale da inserire nella maschera.
Dopodiché compare l'errore di run time 9. In passato mi era capitato con altri programmini ma non ricordo come ho risolto il problema.
Ho scritto al proprietario del programma il quale non sa ha saputo fornirmi consigli particolari oltre a quello di eseguire il programma come amministratore o a controllare le macro; mi ha anche detto che è un problema capitato raramente in passato ma che veniva risolto lanciando software tipo ccleaner; inoltre il programma risale ad alcuni anni fa e non c'è verso di rintracciare chi ho abbia materialmente compilato.
Faccio presente che il nome del foglio è lo stesso di quello dell'applicazione e che il pc è configurato con windows 7 e office 2010.
Copio a seguire una porzione di debug con evidenziato in grassetto la stringa contenente l'errore (in excel evidenziato in giallo):
'----FINE USERCODE
seriale_1 = Registrazione_seriale_1.Text
seriale_2 = Registrazione_seriale_2.Text
seriale_3 = Registrazione_seriale_3.Text
seriale_4 = Registrazione_seriale_4.Text
seriale_5 = Registrazione_seriale_5.Text
'----FORMULA
tempo = Time
tempo_split = Split(tempo, ".")
tempo_office2007_split = Split(tempo, ":")
If (Len(tempo_split(0)) < Len(tempo_office2007_split(0))) Then
ora = tempo_split(0)
Else
ora = tempo_office2007_split(0)
End If
data = Date
data_split = Split(data, "/")
time_machine_now = time_machine(data_split(0), data_split(1), data_split(2), ora, sommatoria_lunghezza)
'----CASO PARTICOLARE
bisestile = 0
If (ora = 25) Then
ora = 23
If (data_split(0) = 1) Then
Select Case data_split(1)
Case 1
data_split(0) = 31
data_split(1) = 12
data_split(2) = data_split(2) - 1
Case 3
data_split(0) = 28
data_split(1) = data_split(1) - 1
time_machine_bisestile = time_machine(29, data_split(1), data_split(2), ora, sommatoria_lunghezza)
bisestile = 1
Case 5, 7, 10, 12
data_split(0) = 30
data_split(1) = data_split(1) - 1
Case Else
data_split(0) = 31
data_split(1) = data_split(1) - 1
End Select
time_machine_now_hour_prev = time_machine(data_split(0), data_split(1), data_split(2), ora, sommatoria_lunghezza)
Else
data_split(0) = data_split(0) - 1
time_machine_now_hour_prev = time_machine(data_split(0), data_split(1), data_split(2), ora, sommatoria_lunghezza)
End If
Attendo speranzoso ogni vostro suggerimento in merito.
Grazie e saluti,
-angelo