Risultati da 1 a 8 di 8

Discussione: Compensa righe



  1. #1
    L'avatar di Tango
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Cannobio
    Messaggi
    2
    Versione Office
    2011
    Likes ricevuti
    0
    Likes dati
    0

    Compensa righe

    Un saluto a tutto il forumexcel


    avrei bisogno dell’aiuto di un esperto per risolvere un problema

    se all’interno del range (“1:60”) aggiungessi delle righe, ….l’equivalente numero di righe aggiunte venissero eliminate in automatico all’interno del range (“61:100”) sottraendole dalla numero100 , e lo stesso valga anche per i seguenti (“101:160”) che toglie dal (“161:200”) sottraendo dalla 200 (“201:260”) che toglie dal (“261:300”) sottraendo dalla 300 e così via fino arrivare alla 1000
    meno prioritario ma altrettanto importante se eseguisse anche l’operazione inversa ….. che sottraendo dal range superiore inserisca le righe sottratte in quello inferiore esempio se elimino delle righe dal range (“1:60”) lo stesso numero di righe vengano aggiunte partendo dalla riga 61 e così anche per il resto




    ringrazio saluti TANGO

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2808
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Compensa righe

    La richiesta è poco chiara. Allega un file di esempio senza dati sensibili.

    P.S. E' gradita una presentazione QUI

  3. #3
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    41
    Messaggi
    2074
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: Compensa righe

    ma se, al posto di ELIMINARE la riga, ne CANCELLI IL CONTENUTO?
    otterresti lo stesso risultato. no?

  4. #4
    L'avatar di Tango
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Cannobio
    Messaggi
    2
    Versione Office
    2011
    Likes ricevuti
    0
    Likes dati
    0

    Re: Compensa righe

    ecco il file di esempio, spero si possa capire




    saluti Tango
    File Allegati File Allegati

  5. #5

    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: Compensa righe

    Ciao a tutti,

    @Tango

    anche se "credo" di aver capito la questione della compensazione... ne ignoro lo scopo, e quindi non son sicuro che quello che ti propongo possa essere utile.
    Anche per quanto riguarda i colori ed i numeri in colonna A...non ho capito se li hai messi per evidenziare i range oppure devono adattarsi anche loro all'inserimento/eliminazione di righe.

    Per prima cosa, dovevo avere di range a cui riferirmi, quindi ho utilizzato dei "nomi definiti".
    Questi vengono creati all'apertura del file (dopo l'eliminazione di quelli già esistenti) ed hanno dei range ben definiti:
    da riga 1 a 60
    da riga 61 a 100
    da riga 101 a 160
    etc...

    volendo si possono creare in base ai colori in colonna A.

    Codice: 
    Private Sub Workbook_Open()
        Call Crea_Nomi
    End Sub
    Codice: 
    Sub Crea_Nomi()
    Dim i As Long, Indice As Long, Nome As Name
    
    
    With ThisWorkbook
        For Each Nome In .Names
            Nome.Delete
        Next
        
        For i = 1 To 1000 Step 100
            Indice = Indice + 1
            .Names.Add "Zona" & Indice & "_1", Sheets(1).Range(Cells(i, 1), Cells(i + 59, 1))
            .Names.Add "Zona" & Indice & "_2", Sheets(1).Range(Cells(i + 60, 1), Cells(i + 99, 1))
        Next i
        
        .Names.Add "Totale", Sheets(1).Range("A1:A1000")
    End With
    End Sub
    Mentre il codice per "compensare" le righe inserite/eliminate, è associato all'evento "Change" del foglio:

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        Call Ins_Del_Row
    End Sub
    Codice: 
    Sub Ins_Del_Row()
    Dim iRiga As Long, righe As Long, Verifica As Integer
    Dim Nomi As Name, Aggiunte As Boolean, rAttuale As Long, Selezione As Range
    
    
    Application.EnableEvents = False
    iRiga = Selection.Row
    righe = Selection.Rows.Count
    Aggiunte = Range("Totale").Rows.Count > 1000
    
    
    For Each Nomi In ThisWorkbook.Names
        If Not Intersect(Cells(iRiga, 1), Range(Nomi)) Is Nothing Then
            If Right(Nomi.Name, 1) = "1" Then
                rAttuale = Range(Nomi).Row + Range(Nomi).Rows.Count
                If Aggiunte = True Then
                    Range(Cells(rAttuale, 1), Cells(rAttuale + righe - 1, 1)).EntireRow.Delete
                Else
                    Range(Cells(rAttuale, 1), Cells(rAttuale + righe - 1, 1)).EntireRow.Insert
                End If
                Exit For
            ElseIf Right(Nomi.Name, 1) = "2" Then
                Set Selezione = Range(Cells(Range(Nomi).Row - 1 - (righe - 1), 1), Cells(Range(Nomi).Row - 1, 1))
                If Aggiunte = True Then
                    Selezione.EntireRow.Delete
                Else
                    Selezione.EntireRow.Insert
                End If
                Exit For
            End If
        End If
    Next
    Application.EnableEvents = True
    End Sub
    Ripeto.... non conoscendo lo scopo effettivo di queste operazioni, sono andato un pò a tentoni.
    File Allegati File Allegati

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

  6. #6
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    41
    Messaggi
    2074
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: Compensa righe

    ciao Cromagno :)
    Volevo chiederti se anceh tu, come me, hai seguito questa strada su Stack Over flow per arrivare al risultato. E' giusto per auto gongolarmi. mica altro
    Ieri, dal mare, cercavo di darmi qualche risposta su come intercettare l' evento "cancella riga intera" ed ho trovato quest' articolo dove, appunto, utilizza l' espediente del change con i Nomi.

  7. #7

    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: Compensa righe

    Ciao draco,
    sono al cellulare e se apro altri link va a finire che non trovo più questa discussione ;)
    Comunque no, sono andato per tentativi ed ho cercato invano un modo per intercettare l'aggiunta o la rimozione di una riga.... alla fine credo di essere andato per esclusione, ma mi fa piacere constatare che non sono l'unico ad essermi "perso" in questo "enigma" ;)

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

  8. I seguenti utenti hanno dato un "Like"


  9. #8

    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: Compensa righe

    Ciao a tutti,

    @Tango

    grazie per i tuoi riscontri!

    Comunque, buono a sapersi... tempo risparmiato per il futuro.

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

Discussioni Simili

  1. Copia righe in excel saltando righe nel foglio di destinazione
    Di Deadman nel forum Domande su Excel in generale
    Risposte: 14
    Ultimo Messaggio: 21/02/17, 16:09
  2. Risposte: 6
    Ultimo Messaggio: 23/10/16, 18:02
  3. Risposte: 3
    Ultimo Messaggio: 12/05/16, 21:53
  4. come eliminare righe vuote, tra righe di testo in una pagina excel
    Di francesco71 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 08/05/16, 14:13
  5. altezza righe e righe nascoste
    Di zio_tom nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 01/11/15, 19:42

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
  •