Eliminare dati da più fogli



  • Eliminare dati da più fogli
    di Effeci13 (utente non iscritto) data: 16/02/2017 11:27:57

    Buongiorno,
    ho la necessità tramite un pulsante di eliminare alcuni dati in fogli di excel differenti. La macro che sto utilizzando esegue in parte ciò che vorrei.
    Provo a spiegarmi: nel primo foglio ho inserito un pulsante tramite il quale vado ad eliminare alcuni dati nei fogli 2,3,4 il problema è che i dati non vengono eliminati mentre, se il pulsante lo inserisco nei rispettivi fogli i dati vengono eliminati.

    A questo punto credo che il problema sia nella struttura del codice, ma non so dove!

    Uso excel 2011 per Mac

    Di seguito la macro che sto utilizzando:


     
    Sub DeselezionaCheck_e_Cancella()
        Dim objCheckBox As Variant
        Dim Sh As Worksheet
        
        azione = MsgBox("Vuoi davvero cancellare i dati?", vbYesNo, "ATTENZIONE!")
    If azione = vbNo Then GoTo finesub
    finesub:
    
        Set Sh = ActiveSheet
        For Each objCheckBox In Sh.Shapes
            If objCheckBox.Type = msoFormControl And Left(objCheckBox.Name, 9) = "Check Box" Then
                objCheckBox.ControlFormat.Value = False
            End If
        Next
    Worksheets("Foglio2").Range("S10,S11,Q18,Q23,F20,Q22,H25,G30,O34").ClearContents
    End Sub



  • di ges (utente non iscritto) data: 16/02/2017 11:48:27

    Ciao,
    il problema è che hai impostato Sh = ActiveSheet, cioè gli stati facendo fare il controllo solo nel foglio attivo, per questo quanto inserisci il pulsante nel rispettivo foglio e lo clicchi vengono eliminati i dati mentre negli altri casi no.

    Devi impostare Sh con nome del Foglio che vuoi fare il controllo
    Esempio se il controllo dve essere fatto nel foglio 2, allora

     
     Set Sh = Worksheets("Foglio2")



  • di Effeci13 (utente non iscritto) data: 16/02/2017 12:21:30

    Ciao ges,
    Il mio problema è che devo eliminare alcuni dati anche negli altri fogli.
    Quindi, stando a questa logica basta modificare il codice così?


     
     Set Sh = Worksheets(“Foglio2”,”Foglio3”,”Foglio4")



  • di Albatros54 data: 16/02/2017 14:47:19

    @ Effeci13
    dovresti sapere che il crossposting è vietato:

    h t t p ://www.forumexcel.it/forum/7-domande-su-excel-vba-e-macro/7844-modifica-codice-macro-per-eliminazione-dati-da-piu-fogli