Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 30 di 38

Discussione: Avere Sempre 3 Righe Vuote tra celle piene



  1. #1
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Avere Sempre 3 Righe Vuote tra celle piene

    Ciao, mi serve un vostro aiuto non riesco ad aggiungere a questo codice il controllo delle righe vuote fra due celle piene praticamente quando scrivo in una cella vuota sotto l'elenco dei nomi mi si inserisce una riga vuota, e fin qui funziona, ma se vado a modificare un nome che magari ho sbagliato, me ne aggiunge unaltra di riga, io vorrei che mi aggiungese solo se le righe vuote sono 2 e che mi copia la formula che si trova in colonna B nella cella appena creata, spero di essermi spiegato.

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    CheckArea = "C3:C100"
    CheckArea2 = "F3:F100"
    If Not Application.Intersect(ActiveCell, Range(CheckArea, CheckArea2)) Is Nothing Then
        If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
        Application.EnableEvents = False
        If Target <> "" Then
        Riga = Target.Row + 1
        Rows(Riga).Insert Shift:=xlDown
        End If
    End If
        Application.EnableEvents = True
    End Sub
    Download: File DropBox

  2. #2
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Non ho capito la Tua richiesta.
    Ho messo in ordine alcune righe ed aggiunto che "Se Modifichi" non interviene il Worksheet_Change.

    Codice: 
    Public Valore As Boolean
    Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Application.Intersect(ActiveCell, Range("C3:C100, F3:F100")) Is Nothing Then
            If Target.Offset(0, 0) = "" Then Valore = False Else Valore = True
        End If
    End Sub
    Sub Worksheet_Change(ByVal Target As Range)
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(ActiveCell, Range("C3:C100, F3:F100")) Is Nothing Then
        If Target <> "" Then
            If Valore = False Then
                Riga = Target.Row + 1
                Rows(Riga).Insert Shift:=xlDown
                Valore = True
            Else
                MsgBox "non inserisco riga"
            End If
        End If
    End If
    Application.EnableEvents = True
    End Sub

  3. #3
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Qualcosa così potrebbe funzionare ma credo che se vai a cancellare un nome e poi lo rimetti viene comunque inserita una nuova riga:
    Codice: 
    Option Explicit
    Public PrecDato As String
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
        If Target.Count > 1 Then Exit Sub
        PrecDato = Target.Value
         
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        Dim CheckArea
        Dim CheckArea2
        Dim Riga
        
        CheckArea = "C3:C100"
        CheckArea2 = "F3:F100"
        If Not Application.Intersect(ActiveCell, Range(CheckArea, CheckArea2)) Is Nothing Then
            If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
            Application.EnableEvents = False
            If PrecDato = vbNullString Then
                Riga = Target.Row + 1
                Rows(Riga).Insert Shift:=xlDown
                PrecDato = Target.Offset(0, 0).Value
            End If
        End If
        Application.EnableEvents = True
    
    
    End Sub
    PS. oppss, arrivo tardi ...

  4. #4
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    ciao raffaele e rollis, appena provato tutte e 2 i codici ma non funzionano aggiungono lo stesso la riga,

  5. #5
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Riprova su un foglio nuovo che sarai più fortunato.

  6. #6
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Certo inserisce una riga se scrivi in una cella vuota.
    Non inserisce se è già scritta

    Avevo premesso che non avevo capito bene la Tuta richiesta (tre righe vuote nel titolo e due nel post)
    naturalmente il Tuo ccodice va eliminato

  7. #7
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Riprova su un foglio nuovo che sarai più fortunato.
    gia riprovato se faccio doppio click nella colonna accanto mi aggiunge lo stesso la riga anche se non scrivo niente

    Certo inserisce una riga se scrivi in una cella vuota.
    Non inserisce se è già scritta

    Avevo premesso che non avevo capito bene la Tuta richiesta (tre righe vuote nel titolo e due nel post)
    naturalmente il Tuo ccodice va eliminato
    il mio codice gia mi inserisce una riga, sia che riempio una cella che se la modifico, io vorrei invece che controllasse prima di aggiungere una nuova riga che non ce ne fossero piu di 3 vuote.

  8. #8
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Il mio non inserisce righe se la cella era già scritta. Il Tuo SI

    Di sicuro sbaglio, prendiamo un foglio nuovo e scrivi in C3= Ciao (anche se non vedi nulla inserisce 3 righe sotto)
    Ora se Tu scrivi in C5= Ciao (anche se non vedi nulla inserisce 3 righe sotto) e vorresti che tra C3 e C5 ci fossero tre righe?

  9. #9
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Non avevo fatto caso che chiedevi anche la copia della formula in colonna B. Basta aggiungere nel mio codice questa riga in questo punto:
    Codice: 
                Rows(Riga).Insert Shift:=xlDown
                Range(Target.Address).Offset(0, -1) = Range(Target.Address).Offset(-1, -1).FormulaR1C1
                PrecDato = Target.Offset(0, 0).Value

    Inoltre:
    io vorrei invece che controllasse prima di aggiungere una nuova riga che non ce ne fossero più di 3 vuote.
    E se fossero 4 ? non deve aggiungere righe ? solo inserire la formula in B ?
    e se sono meno ? può capitare ?

  10. #10
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Di sicuro sbaglio, prendiamo un foglio nuovo e scrivi in C3= Ciao (anche se non vedi nulla inserisce 3 righe sotto)
    Ora se Tu scrivi in C5= Ciao (anche se non vedi nulla inserisce 3 righe sotto) e vorresti che tra C3 e C5 ci fossero tre righe?
    si ci devono essere sempre 3 righe vuote seno tutte le volte che modifico o ci clicco per sbaggio 2 volte mi aggiunge una riga e mi tocca eliminarle tutte le volte.

    E se fossero 4 ? non deve aggiungere righe ? solo inserire la formula in B ?
    e se sono meno ? può capitare ?
    deve aggiungere una riga solo se le righe di distanza sono 2 se c'è ne sono 3 no, deve rimanere tutto cosi
    posto un immagine forse riesco a spiegarmi meglio:


  11. #11
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Allora cosa fanno di sbagliato le nostre macro a parte inserire un nuova riga se per sbaglio si cancella e si rimette un nome nel bel mezzo delle liste ?
    Ti allego il file delle mie prove.
    File Allegati File Allegati

  12. #12
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    il tuo fa questo, aggiunge righe all'infinito tra il blocco di celle piene


  13. #13
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Riprova a fare quei "giochini" con queste modifiche:
    Codice: 
    Option Explicit
    Public PrecDato As String
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
        If Target.Count > 1 Then Exit Sub
        PrecDato = Target.Value
         
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    
        Dim CheckArea
        Dim CheckArea2
        Dim Riga
        CheckArea = "C3:C100"
        CheckArea2 = "F3:F100"
        If Not Intersect(Target, Range(CheckArea, CheckArea2)) Is Nothing Then
            If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
            If Target.Value = vbNullString Then Exit Sub
            Application.EnableEvents = False
            If PrecDato = vbNullString Then
                Riga = Target.Row + 1
                Rows(Riga).Insert Shift:=xlDown
                Range(Target.Address).Offset(0, -1) = Range(Target.Address).Offset(-1, -1).FormulaR1C1
                PrecDato = Target.Offset(0, 0).Value
            End If
        End If
        Application.EnableEvents = True
    
    
    End Sub

  14. #14
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    mi continua ad aumentare lo stesso le righe, se scrivo prima in colonna c poi in colonna d e poi in colonna f e g mi aumenta di altre 4 righe tutte le volte che lo faccio, e in piu quando scrivo in colonna Di mi copia la cella superiore della colonna C e la copia nell'ultima cella di colonna c appena creata.

  15. #15
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Prova (alcune volte non mi fa inserire risposte)

  16. #16
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Ma stai provando in un foglio "pulito" ? secondo me hai mille altre macro che stanno inficiando il risultato dei nostri lavori.
    Allega per favore l'ultima versione del tuo file con dentro solo la mia macro e poi ne ripariamo.

  17. #17
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Non riesco inserire del testo da un TXT
    Devi aver l'accortezza di lasciare Tu le tre righe vuote tra i gruppi, poi ci pena il codice
    e scrivere sempre un nuovo dato nella prima cella libera sotto un gruppo

    Codice: 
    Public Valore As Boolean
    Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Application.Intersect(ActiveCell, Range("C3:C100, F3:F100")) Is Nothing Then
            If Target.Offset(0, 0) = "" Then Valore = False Else Valore = True
        End If
    End Sub
    Sub Worksheet_Change(ByVal Target As Range)
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    Dim X As Long, Riga As Long
    Riga = Target.Row
    If Not Intersect(Target, Range("C3:C100,F3:F100")) Is Nothing Then
        If Target.Offset(0, 0) <> "" And Valore = False Then
            If Target.Offset(1, 0) = "" And Target.Offset(2, 0) = "" And Target.Offset(3, 0) = "" Then
                Cells(Riga, 2).FormulaLocal = "=SE(D" & Riga & "=G" & Riga & ";""Ok"";"""")"
            Else
                Range(Cells(Riga, 2), Cells(Riga, 7)).Insert Shift:=xlDown
                Cells(Riga, 2).FormulaLocal = "=SE(D" & Riga & "=G" & Riga & ";""Ok"";"""")"
                Valore = True
            End If
        End If
    End If
    Application.EnableEvents = True
    End Sub
    Sub a()
    Application.EnableEvents = True
    End Sub

  18. #18
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Ma stai provando in un foglio "pulito" ? secondo me hai mille altre macro che stanno inficiando il risultato dei nostri lavori.
    certo che sto provando su foglio pulito, non mi metto mica a verificare macro o codice su file originale.

    raffaele il tuo ultimo codice non aggiunge piu righe nuove se modifico una cella piena, ma se vado ad inserire dei dati nella prima cella vuota mi inserisce una riga sopra.

  19. #19
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Puoi farmi un filmato?
    Oppure allega l'originale

  20. #20
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Ho trovato che il tuo script per la gestione del multi-range non va d'accordo con il mio Excel pertanto l'ho cambiato e riscritto l'intera macro.
    Codice: 
        Dim CheckArea
        Dim CheckArea2
        CheckArea = "C3:C100"
        CheckArea2 = "F3:F100"
        If Not Intersect(Target, Range(CheckArea, CheckArea2)) Is Nothing Then
    l'ho cambiato in:
    Codice: 
        Dim CheckArea As Range
        Set CheckArea = Union(Range("C3:C100"), Range("F3:F100"))
        If Not Intersect(Target, CheckArea) Is Nothing Then
    e questa ora è la mia ultima versione completa (da testare)
    Codice: 
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        Dim CheckArea As Range
        
        Set CheckArea = Union(Range("C3:C100"), Range("F3:F100"))
        If Not Intersect(Target, CheckArea) Is Nothing Then
            If Target.Count > 1 Then Exit Sub
            If Target.Value = vbNullString Then Exit Sub
            Application.EnableEvents = False
            If Not Intersect(Target, Range("C3:C100")) Is Nothing Then
                If IsEmpty(Range(Target.Address).Offset(0, -1)) Then
                    Rows(Target.Row + 1).Insert
                    Range(Target.Address).Offset(0, -1) = Range(Target.Address).Offset(-1, -1).FormulaR1C1
                End If
            End If
            If Not Intersect(Target, Range("F3:F100")) Is Nothing Then
                If IsEmpty(Range(Target.Address).Offset(0, -4)) Then
                    Rows(Target.Row + 1).Insert
                    Range(Target.Address).Offset(0, -4) = Range(Target.Address).Offset(-1, -4).FormulaR1C1
                End If
            End If
        End If
        Application.EnableEvents = True
    
    End Sub

  21. I seguenti utenti hanno dato un "Like"


  22. #21
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    ecco il video, nella prima parte faccio vedere come si comporta il video di raffaele e nella seconda parte quello di rollis



    edit: mi sono accorto nel rivedere il video che cera un pezzo di codice di raffaele sospetto e ho provato ad eliminarlo e il codice si comporta come quello di rollis,
    Codice: 
    Sub a()
    Application.EnableEvents = True
    End Sub

  23. #22
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Quel codice serve solo per ripristinare la gestione degli Eventi quando si interrompe "brutalmente" l'esecuzione di una macro che li gestisce. Solitamente si lancia il comando dalla Finestra Immediata ma anche una mini macro così va bene lo stesso.

    PS. come si fa per vedere il video ?

  24. #23
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Secondo me sei fuso, non vedo il resto.
    Ps Se non capisci un cavolo il >>>>>>>>Sub a()
    L'ho messo apposta per aiutare

    Ps Rollis
    Scusami se non Ti ho salutato

  25. #24
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    prova adesso non l'avevo ancora reso pubblico

  26. #25
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    >>>prova adesso
    Rimani fuso

  27. #26
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    812
    Versione Office
    2016 64bit
    Likes ricevuti
    147
    Likes dati
    53

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Ok, ora si sbobina.

  28. #27
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    stavo rispondendo a rollis, perche offendi?

  29. #28
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    Ho offeso persone?
    A parte il Loro bisogno?

  30. #29
    L'avatar di robynud
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Gardone Val Trompia
    Età
    45
    Messaggi
    155
    Versione Office
    Office 2016
    Likes ricevuti
    24
    Likes dati
    65

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    mi hai dato 2 volte del fuso vedi tu

  31. #30
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Avere Sempre 3 Righe Vuote tra celle piene

    OK, Hai ragione
    Mi puoi dire che ho torto, grazie.

Discussioni Simili

  1. Lasciare ultime righe fattura sempre alla stessa altezza dell'area di stampa
    Di Gatt88 nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 11/03/17, 15:52
  2. conta celle piene consecutive con condizione
    Di colmax nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 11/11/16, 19:04
  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. Nascondere le celle piene
    Di ges nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 25/06/15, 14:31

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
  •