> Ciao,devo inserire in un foglio di excel dei pulsanti di opzione con scelta
> "SI" o "NO" ma non so come fare ed inoltre ne devo inserire più di uno sullo
> stesso foglio.E' possibile?Grazie
----------------
ciao Solari,
Visualizza > Barre degli strumenti > Moduli
Clicca su sull'iconcina con una "v" di spunta e poi
disegna sul foglio
--
()---cucchiaino
'-------------
devo inserire in un foglio di excel dei pulsanti di opzione con scelta
"SI" o "NO" ma non so come fare ed inoltre ne devo inserire piů di uno sullo
stesso foglio.E' possibile?
'-------------
In alternativa, forse prova le CheckBox cosi':
In un modulo standard (vedi di sotto),
incollaL
'=============>>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim rCell As Range
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set Rng = SH.Range("A1:A10") '<<=== da CAMBIARE
Application.ScreenUpdating = False
For Each rCell In Rng.Cells
With SH.CheckBoxes.Add(rCell.Left + 5, _
rCell.Top - 2, 5, 5)
.Caption = ""
.LinkedCell = rCell.Address(False, False)
End With
rCell.Font.Color = vbWhite
Next rCell
Application.ScreenUpdating = True
End Sub
'<<=============
Per utilizzare questa routine:
Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incolla il suddetto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "Tester"
Esegui
---
Regards,
Norman
Microsoft Excel MVP
Click sulla scheda Sviluppo.
Se non la vedi:
Procedura per visualizzare la scheda: Sviluppo
Click sul pulsante: Office
Pulsante: Opzioni di Excel(in basso a dx)
Mettere la spunta a: Mostra scheda Sviluppo sulla barra multifunzione
Nella scheda sviluppo fai click su:
Inserisci
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Ciao,
probabilmente hai inserito una casella di controllo, ed invece necessiti di
un pulsante di opzione (quell'iconcina che sembra un rotondino)
ivano
Ce l'hai con me oggi? Io non sono rotondino!!! 8-)
Beh, ma allora è normale che se ne cambi uno cambino tutti; ovvero coi
pulsanti di opzione ne rimane sempre e solo uno selezionato.
Quelli che inserisci dopo, devono essere collegati ad A1 anche loro?
Vorresti poter avere una selezione multipla, forse?
Prova a spiegare meglio.
ivano
Assegna ad ogni coppia di pulsanti il riferimento relativo:
I primi due li colleghi ad A1, i secondi ad A2...ecc.ecc.
ivano
'--------------------
,devo inserire in un foglio di excel dei pulsanti di opzione con scelta
"SI" o "NO" ma non so come fare ed inoltre ne devo inserire più di uno sullo
stesso foglio.E' possibile?
'--------------------
Per inserire una copia ("Sì" e "No") di
OptionButton (pulsante di opzione) - per
ogni cella in un intervallo, prova:
'=============>>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim rCell As Range
Dim oleObj As OLEObject
Dim OptButton As MSForms.OptionButton
Dim arrCaption As Variant
Dim i As Long
Dim j As Long
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set Rng = SH.Range("A1:A10") '<<=== da CAMBIARE
arrCaption = VBA.Array("Sì", "No")
Application.ScreenUpdating = False
For i = 1 To Rng.Cells.Count
Set rCell = Rng.Cells(i).Offset(0, 1)
With rCell
.RowHeight = Application.Max(18, .RowHeight)
For j = 1 To 2
Set oleObj = SH.OLEObjects.Add _
(ClassType:="Forms.OptionButton.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=.Left + (j - 1) * 48 + 5, _
Top:=.Top + 2, _
Width:=48, _
Height:=15)
With oleObj.Object
.GroupName = i
.Caption = arrCaption(j - 1)
.Value = False
End With
Next j
End With
Next i
'------------------
Su questa istruzione
Dim OptButton As MSForms.OptionButton
mi dice "Errore di compliazione:Tipo definito dall'utente non definito"
'------------------
Alt-F11 per aprire l'edito di VBA
Meni | Strumenti | Riferimenti |
Trova e seleziona la libreria:
Microsoft Forms xx Object Library
Potrei anche mandarti il mio file di prova in
risposta ad una email:
norman_jones@NOSPAMbtconnectDOTcom
(Cancella "NOSPAM" e sostituisci "DOT" con un punto)
Si, non avevo mai visto 'sta cosa: carina!
Guarda forse ho trovato una soluzione che sembra una stupidata, ma il
programmatore forse l'ha fatta apposta:
Ho "imprigionato" i due pulsanti d'opzioni di cella A1 in una casella di
gruppo (facendo attenzione a non far uscire dal bordo il pulsante) e quelli
di cella A2 in un altra casella di gruppo. Dopo aver risistemato i
riferimenti, ora, funziona correttamente.
ivano
'------------------
Guarda forse ho trovato una soluzione che sembra una stupidata, ma il
programmatore forse l'ha fatta apposta:
Ho "imprigionato" i due pulsanti d'opzioni di cella A1 in una casella di
gruppo (facendo attenzione a non far uscire dal bordo il pulsante) e quelli
di cella A2 in un altra casella di gruppo. Dopo aver risistemato i
riferimenti, ora, funziona correttamente.
'------------------
Nel caso degli OptionButton dagli Strumenti
di controllo, si potrebbe anche utilizzare la
proprieta' GroupName con lo stesso risultato.
In questo proposito vedi anche il codice
suggerito da me,
Ciao Norman,
grazie della precisazione, ma non averne a male, per me il vba è più
incomprensibile dell'aramaico.
:-)
In ogni caso penso che parecchi altri facciano ben tesoro delle tue prezioni
annotazioni.
ivano
> grazie della precisazione, ma non averne a male, per me il vba è più
> incomprensibile dell'aramaico
Mi riferivo al fatto che si puo' fare lo settaggio
della proprieta; GruopName manualmente, senza
VBA.
Cosi' in effetti, si ottiene un 'bordo del pulsante'
(Frame o GtoupBox) virtuale ed il comportamento
di ogni copia degli OptionButton e come indicato
da te e come voluto da Solari.