Risultati da 1 a 5 di 5

Discussione: Deselezionare OptionButton presenti su un foglio



  1. #1

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6773
    Versione Office
    2013
    Likes ricevuti
    716
    Likes dati
    164

    Deselezionare OptionButton presenti su un foglio

    Ciao a tutti.

    Non riesco a scrivere una macro che mi deselezioni tutti gli OptionButton presenti su un foglio di lavoro.

    O meglio riesco a farlo se scrivo l'istruzione tante volte per quanti sono gli OptionButton ma non riesco ad impostare un ciclo nè For i nè For Each.

    Ho cercato in rete ma non sono riuscito a risolvere.

    Qualcuno ha qualche idea al riguardo?

    Grazie

    Alfredo

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1106
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Deselezionare OptionButton presenti su un foglio

    Codice: 
    Sub a() ' disattiva tutti
        Dim obtOptionbutton As OLEObject
        Dim osh As Worksheet
        Set osh = ThisWorkbook.Worksheets(1)
        For Each obtOptionbutton In osh.OLEObjects
            If TypeName(obtOptionbutton.Object) = "OptionButton" Then
                obtOptionbutton.Object = False
            End If
        Next
    End Sub
    nota che ho dimensionato le variabili

  3. #3

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6773
    Versione Office
    2013
    Likes ricevuti
    716
    Likes dati
    164

    Re: Deselezionare OptionButton presenti su un foglio

    Ciao Andrea e grazie.

    Devo dire che una soluzione simile (ma ovviamente non uguale alla tua) l'avevo provata tante volte e ci stavo impazzendo.

    Non mettevo quel .Object e quindi la macro andava in debug.

    Così come pure mi sarei aspettato che al termine di obtOptionbutton.Object si dovesse aggiungere un .Value; ma evidentemente non è così.

    Ti ringrazio ancora.

    Alfredo

    P.S. Quanto alle variabili, il mio era solo un "rimprovero" scherzoso; so bene quanto tu sia bravo e mi fa specie vedere quel "Junior" sul tuo rank.

  4. #4

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1015
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0

    Re: Deselezionare OptionButton presenti su un foglio

    Ciao,

    non hai precisato se parli di controlli ActiveX o Modulo. Il codice di patel (ciao) funziona per gli ActiveX ma non per i Modulo.
    Questo codice funziona con in controlli modulo (purché non siano presenti controlli ActiveX):
    Codice: 
    Sub UncheckOB()
      Dim oOB As Object
      Dim ws As Worksheet
      
      Set ws = ActiveSheet
      For Each oOB In ws.Shapes
        With oOB
          If .FormControlType = xlOptionButton Then .OLEFormat.Object.Value = -4146
        End With
      Next
      Set ws = Nothing
    End Sub
    Giocando un po' "sporco" il seguente codice funziona con entrambi ed azzera sia OptionButton che checkbox:
    Codice: 
    Sub UncheckOB()
      Dim oOB As Object
      Dim ws As Worksheet
      
      Set ws = ActiveSheet
      On Error Resume Next
      For Each oOB In ws.Shapes
        With oOB.OLEFormat.Object
          .Object.Value = False
          .Value = -4146
        End With
      Next
      On Error GoTo 0
      Set ws = Nothing
    End Sub

  5. #5

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6773
    Versione Office
    2013
    Likes ricevuti
    716
    Likes dati
    164

    Re: Deselezionare OptionButton presenti su un foglio

    Ciao Marco e grazie anche a te.

    In effetti avevo dimenticato di precisare che si trattava di controlli ActiveX per cui la macro di Patel è perfetta.

    In ogni caso farò tesoro dei tuoi suggerimenti.

    Alfredo

Discussioni Simili

  1. Risposte: 4
    Ultimo Messaggio: 30/01/17, 16:31
  2. Deselezionare tutti gli elementi tabella pivot
    Di Cecco Beppe nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 11/01/17, 16:02
  3. [Risolto] Conteggiare elementi di un database presenti in un foglio diverso
    Di SpezzaKorna nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 22/12/16, 00:51
  4. Creare menu a tendina per richiamare dati presenti in un altro foglio
    Di Superpaolo nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 15/02/16, 17:18
  5. Trovare nel secondo foglio dati presenti nel primo foglio
    Di antonysameli nel forum Domande su Excel in generale
    Risposte: 27
    Ultimo Messaggio: 12/02/16, 20:12

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •