Risultati da 1 a 12 di 12

Discussione: Inserire più range in un unica variabile?Dima dati1



  1. #1
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Inserire più range in un unica variabile?Dima dati1

    Buongiorno a tutti.

    Ho un piccolo problemino con una macro pre cancellare del contenuto di determinate celle e togliere le spunte a delle checkbox.
    Il codice è il seguente:
    Codice: 
    Sub cancella_tutto()
       Dim dati1 As Rang, dati2 As Range
       Messaggio = MsgBox("Cancella tutto?", vbYesNo)
       Set dati1 = Range("B7,B6")
       Set dati1 = Range("C7,D7")
       If messaggio = vbYes Then
          dati1 = ""
          dati2 = False
       End if
       Set dati1 = Nothing
       Set dati2 = Nothing
    End Sub
    Siccome devo inserire parecchi range, devo creare una varibile per ogni range? o posso unirli i range in qualche modo?

    inserisco alcuni range che devo inserire ma non sono tutti, se potete gentilmente indicarmi come unirli se e possibile.

    Vi ringrazio per l'attenzione.

    ("B9,B10")("C10,D10")("B12,B13")("C13,D13")("B15,B16")("C16,D16")("B18,B19")("C19,D19")("B21,B22")("C22,D22")
    ("G9,G10")("H10,I10")("G12,G13")("H13,I13")("G15,G16")("H16,I16")("G18,G19")("H19,I19")("G21,G22")("H22,I22")
    ("B31,B32")("C32,D32")("B34,B35")("C35,D35")("B37,B38")("C38,D38")("B40,B41")("C41,D41")("B43,B44")("C44,D44")

  2. #2

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: Inserire più range in un unica variabile?Dima dati1

    Ciao,
    non credo di aver capito bene lo scopo finale (allegare il file sarebbe d'aiuto), comunque per unire più range puoi usare il metodo "Union":
    https://msdn.microsoft.com/en-us/lib.../ff834621.aspx

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7122
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: Inserire più range in un unica variabile?Dima dati1

    Ciao,
    se quelli che hai scritto nel messaggio sono le celle da cancellare, oltre il metodo Union suggerito da Cromagno, che saluto - che può avere limiti nel numero delle unioni - potresti fare così:

    Codice: 
    Sub cancella_tutto()
       Dim dati As Range
       messaggio = MsgBox("Cancella tutto?", vbYesNo)
       Set dati = Range("B6:B7, B9:B10, C10:D10, B12:B13, C13:D13, B15:B16, C16:D16, B18:B19, C19:D19, B21:B22, C22:D22,G9,G10, H10,I10, G12,G13, H13,I13, G15,G16, H16,I16, G18,G19, H19,I19, G21,G22, H22,I22,B31,B32, C32,D32, B34,B35, C35,D35, B37,B38, C38,D38, B40,B41, C41,D41, B43,B44, C44,D44")
         If messaggio = vbYes Then
          dati = ""
            End If
          Set dati = Nothing
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  4. #4
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Inserire più range in un unica variabile?Dima dati1

    Allego il file.

    Desidero cancellare il contenuto e le spunte alle checkbox delle celle evidenziate in giallo.

    Ti ringrazio per la cortesia.
    File Allegati File Allegati

  5. #5

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

    Re: Inserire più range in un unica variabile?Dima dati1

    Ciao Lety

    Per deselezionare tutte le CheckBox del foglio puoi usare questo codice

    Codice: 
    Sub a()
        Dim obtCheckBox As OLEObject
        Dim osh As Worksheet
        Set osh = ThisWorkbook.Worksheets(1)
        For Each obtCheckBox In osh.OLEObjects
            If TypeName(obtCheckBox.Object) = "CheckBox" Then
                obtCheckBox.Object = False
            End If
        Next
    End Sub
    Alfredo

    P.S. Preciso che la macro non è mia ma dell'amico Patel; io l'ho solo adattata al tuo caso.

  6. #6
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Inserire più range in un unica variabile?Dima dati1

    Come posso fondere le due macro insieme, perché oltre a togliere le spunte mi serve che cancelli l'ora nella cella ad esempio B7, B10, B13 ecc.

  7. #7

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

    Re: Inserire più range in un unica variabile?Dima dati1

    Ciao Lety

    Non c'è bisogno di fondere le macro basta che ne scrivi una terza che richiami le prime due in questo modo

    Codice: 
    Sub LetyMacro()
    Call cancella_tutto
    Call a
    End Sub
    Alfredo

  8. #8

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

    Re: Inserire più range in un unica variabile?Dima dati1

    E' strano ho provato la macro di Ges (che saluto) ma mi dà errore di run-time 1004 Metodo Range dell'oggetto Global non riuscito e mi evidenzia questa istruzione

    Codice: 
    Set dati = Range("B6:B7, B9:B10, C10:D10, B12:B13, C13:D13, B15:B16, C16:D16, B18:B19, C19:D19, B21:B22, C22:D22,G9,G10, H10,I10, G12,G13, H13,I13, G15,G16, H16,I16, G18,G19, H19,I19, G21,G22, H22,I22,B31,B32, C32,D32, B34,B35, C35,D35, B37,B38, C38,D38, B40,B41, C41,D41, B43,B44, C44,D44")
    La mia invece funziona bene.

    Alfredo

  9. #9
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Inserire più range in un unica variabile?Dima dati1

    Ciao Alfredo, a me non toglie le spunte quando clicco sul pulsante. Ho copiato e incollato il tuo codice. Puoi allegare il tuo file?

  10. #10

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

    Re: Inserire più range in un unica variabile?Dima dati1

    Certo eccolo

    Alfredo
    File Allegati File Allegati

  11. #11

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7122
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: Inserire più range in un unica variabile?Dima dati1

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    E' strano ho provato la macro di Ges (che saluto) ma mi dà errore di run-time 1004 Metodo Range dell'oggetto Global non riuscito e mi evidenzia questa istruzione

    Codice: 
    Set dati = Range("B6:B7, B9:B10, C10:D10, B12:B13, C13:D13, B15:B16, C16:D16, B18:B19, C19:D19, B21:B22, C22:D22,G9,G10, H10,I10, G12,G13, H13,I13, G15,G16, H16,I16, G18,G19, H19,I19, G21,G22, H22,I22,B31,B32, C32,D32, B34,B35, C35,D35, B37,B38, C38,D38, B40,B41, C41,D41, B43,B44, C44,D44")
    ..
    Alfredo
    Ciao alfrimpa, non saprei dirti dell'errore ... ho fatto diverse prove e a me funziona ... ti allego un file di prova con la stessa macro.
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. #12
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Inserire più range in un unica variabile?Dima dati1

    Grazie a tutti, Alfredo non mi funzionava perché non avevo modificato il numero del foglio.

Discussioni Simili

  1. [Tutorial VBA] Range.End() - Range.OffSet() - Come operare sulle tabelle di dati
    Di dracoscrigno nel forum Imparando Excel & VBA - Tutorial di Excel-
    Risposte: 3
    Ultimo Messaggio: 29/03/17, 22:30
  2. [Risolto] Inserire un Range nella funzione Random
    Di Kinoppi90 nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 21/10/16, 13:14
  3. Ordinare in unica colonna più colonne di lunghezza variabile
    Di Rex Infernus nel forum Domande su Excel in generale
    Risposte: 20
    Ultimo Messaggio: 26/09/16, 18:00
  4. filtro avanzato con range variabile in vba
    Di mb63 nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 07/09/16, 19:08
  5. Somma al verificarsi di una condizione ma per un range variabile
    Di Alessandro nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 07/10/15, 18:57

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
  •