Vba Excel Ridefinire aree selezionate per nuovo range [RISOLTO]

di il
16 risposte

16 Risposte - Pagina 2

  • Re: Vba Excel Ridefinire aree selezionate per nuovo range [RISOLTO]

    08/05/2023 - Sgrubak ha scritto:


    Appunto.

    Condivido in tutto e per tutto l'approccio più consono.  Perfetto!!!!

    08/05/2023 - Sgrubak ha scritto:


    Come ultima cosa, mi domando a cosa serva

    ;)) un Range di un Range ….  non se po vedè ;))  chiedo venia, imperdonabile!   Perfetto!!!!

    Con le dovute modifiche e correzioni:

    Private Sub Worksheet_Change(ByVal Target As Range)
    
    ' if column strClmKey clean up selection cells
    If Not Intersect(Range(strClmKey), Target) Is Nothing Then
       ' delete the selected Entire Rows areas from Target
       Dim rngTarget As Range
       Set rngTarget = myNewRange(Target)		------> RICHIAMO FUNCTION E RETRIEVE NUOVO RANGE CHE NON CONTERRA'LE ENTIRE ROWS
       ' clean up cells not including Entire Rows
       If Not rngTarget Is Nothing Then			------> SE IL NUOVO RANGE NON E' NOTHING, CI SONO CELLE DA TRATTARE
           ' set EnableEvents to prevent recursive calls to worksheet event functions
           Application.EnableEvents = False
           ' clean up the cells
           rngTarget.Select
           MyClearRowsMultiple rngTarget		------> ESECUZIONE SUB CON IL NUOVO RANGE
           ' set EnableEvents to restore events
           Application.EnableEvents = True
       End If
    End If
    ____________________________________________________________________________________________________________________________
    
    ' SKIP RANGE INTO A NEW RANGE WITHOUT FULL ROW SELECTIONS
    Function myNewRange(Target As Range) As Range
    ' set default value
    Set myNewRange = Nothing
    ' create new range and skip EntireRows
    Dim rngX As Range
    For Each rngX In Target.Areas
        If rngX.Columns.Count < ActiveSheet.Columns.Count Then
            If myNewRange Is Nothing Then Set myNewRange = rngX Else Set myNewRange = Union(myNewRange, rngX)
        End If
    Next rngX
    End Function
    

    Direi che a questo punto ci siamo… 

    Non so come ringraziarti per avermi seguito e suggerito le più razionali soluzioni
    Veramente molto gentile
    Grazie mille !!!

  • Re: Vba Excel Ridefinire aree selezionate per nuovo range [RISOLTO]

    Lieto di esserti stato di aiuto. :-)

Devi accedere o registrarti per scrivere nel forum
16 risposte