Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CONVALIDA da CommonButton

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

CONVALIDA da CommonButton

Postdi carmelo.nicita » 22/01/10 08:56

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.
carmelo.nicita
Utente Junior
 
Post: 20
Iscritto il: 14/09/09 07:42

Sponsor
 

Re: CONVALIDA da CommonButton

Postdi Flash30005 » 22/01/10 11:21

La tua macro funziona perfettamente il problema è il pulsante
Prova a creare un oggetto qualsiasi con Forme e poi con tasto destro assegni direttamente la macro10
Del resto la macro prevede di convalidare la cella attiva ma quando vai a cliccare sul comando non hai alcuna cella attiva ma solo il pulsante, cosa che non succede con un disegno (forma).


Puoi usare il comando se memorizzi la riga e colonna in questa maniera:
nel foglio dove hai il comando e quindi le celle da convalidare inserisci questo codice
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
riga = Target.Row
colonna = Target.Column
End Sub
Private Sub CommandButton1_Click()
Call Macro10
End Sub

nel modulo metterai questo codice
Codice: Seleziona tutto
Public riga, colonna As Integer
Sub Macro10()
Cells(riga, colonna).Select
    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

Ora non dovresti avere problemi
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: CONVALIDA da CommonButton

Postdi carmelo.nicita » 22/01/10 14:30

Grazie mille Flash,

ci provo e poi ti faccio sapere.

Grazie ancora
carmelo.nicita
Utente Junior
 
Post: 20
Iscritto il: 14/09/09 07:42


Torna a Applicazioni Office Windows


Topic correlati a "CONVALIDA da CommonButton":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti