La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
buon giorno a tutti,
questo è il mio primo post quindi vi chiedo venia in anticipo per eventuali errori nella procedura e terminologia impropria.
volendo inserire una ComboBox ActiveX in un foglio excel utilizzando le istruzioni del vba, da neofita ho usato il registratore di macro e poi sono andato a vedere il risultato per capirne i meccanismi.
durante la registrazione oltre a definire il tipo di oggetto ActiveX ho impostato anche tutte le proprietà come ad esempio il nome, il colore dello sfondo, il tipo di carattere, le celle contenenti i dati, ecc).
con mia grande sorpresa ho scoperto che purtroppo tutto ciò che avevo inserito riguardo alle proprietà non era stato registrato.
al secondo tentativo ho capito che non c'era nulla da fare, e quindi ho tentato di inserire manualmente le istruzioni mancanti.
tramite il "visualizzatore oggetti" ho scoperto che i membri di 'OLEObject' sono quelli che mi consentirebbero di definire le proprietà della mia ComboBox ActiveX.
Dopo innumerevoli tentativi, utilizzando combinazioni diverse, non sono stato però in grado di arrivare ad una soluzione: il sistema mi restituisce sempre il messaggio "Proprietà o metodo non supportati dall'oggetto".
allego il file di esempio, sperando di avervi offerto tutti gli elementi necessari per poter inquadrare il problema.
vi ringrazio anticipatamente per il vostro prezioso aiuto, che mi auguro potrà tornare utile anche ad altri neofiti.
Cordialmente
Ciao,
il registratore di macro è utile in molti casi ma è molto approssimativo.
Prova in questo modo:
Sub QuestaFunziona() Range("J8").Value = "IO" Range("J9").Value = "TU" Range("J10").Value = "NOI" Range("J11").Value = "VOI" With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _ Link:=False, DisplayAsIcon:=False, Left:=96, Top:=31.5, Width:=129.75, _ Height:=57) .Name = "MyComboTest" .ListFillRange = "J8:J11" .LinkedCell = "K2" .Object.Value = "scegli" .Object.ForeColor = vbCyan .Object.ListRows = 3 .Object.TextAlign = 2 .Object.Font.Name = "Times New Roman" .Object.Font.Bold = True .Object.Font.Italic = True .Object.Font.Size = 14 End With End Sub
@cromagno grazie, grazie, grazie ... funziona perfettamente!
se c'è modo di sostenere il sito fatemelo sapere e farò la mia parte
grazie anche per la rapidità della risposta
condividerò l'informazione con i colleghi e farò ampia pubblicità
buona giornata