Salve a tutti,
mi ritrovo a dover avere a che fare con l'automazione di excel.
Io dovrei semplicemente fare apparire un elenco a discesa (lo stesso che manualmente si fa con il conavlida) nella cella selezionata del foglio attraverso il click di un pulsante.
Io banalmente, forse, ho definito una macro che effettua la stessa operazione del convalida e la faccio attivare nel corpo del pulsante. Scrivo qui in basso gli script che ho utilizzato, ah... nello script che effettua la convalida, alla voce "Formula1:=" ho inserito il nome definito per un determinato intervallo di celle che si trova su un altro foglio di lavoro:
Sub Macro10()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=AUTO"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
e per l'attivazione di questa macro ho usato:
Private Sub CommandButton1_Click()
Macro10
End Sub
ho anche provato con "Call Macro10" ma mi da sempre un errore e cioè:
errore di run-time '-2147417848': Errore di automazione.
L'oggetto invocato si è disconnesso dai client corrispondenti
che compare nel metodo :
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=AUTO"
Se avete idea di come posso risolvere il problema fatemi sapere.
P.S.: ho anche provato a usare l' Application.Run per fare attivare la macro, ma il risultato è sempre lo stesso.