Risultati da 1 a 14 di 14

Discussione: Macro di inserimento riga vuota ad una data condizione.



  1. #1
    L'avatar di pipp333
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Brescia
    Età
    47
    Messaggi
    14
    Versione Office
    Excel 2016 M
    Likes ricevuti
    0
    Likes dati
    2

    Macro di inserimento riga vuota ad una data condizione.

    Buongiorno, ho una tabella excel con dei dati e relativi subtotali. Mi servirebbe una macro che permetta di inserire automaticamente, dopo ogni riga di subtotale, una riga vuota. In pratica un inserimento ri nuova riga al verificarsi di una condizione, ovvero che la riga contenga la parola subtotale ad esempio. In quel caso sotto dovrebbe generarsi una riga vuota in cui poi io dovrei, sempre automaticamente, riportare nome e cognome a cui si riferisce il subtotale. Si creerebbe così una piccola scheda per ogni subtotale.Mi sapete aiutare?
    Grazie

  2. #2
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da pipp333 Visualizza Messaggio
    Buongiorno, ho una tabella excel con dei dati e relativi subtotali. Mi servirebbe una macro che permetta di inserire automaticamente, dopo ogni riga di subtotale, una riga vuota. In pratica un inserimento ri nuova riga al verificarsi di una condizione, ovvero che la riga contenga la parola subtotale ad esempio. In quel caso sotto dovrebbe generarsi una riga vuota in cui poi io dovrei, sempre automaticamente, riportare nome e cognome a cui si riferisce il subtotale. Si creerebbe così una piccola scheda per ogni subtotale.Mi sapete aiutare?
    Grazie
    perchè non provi ad allegare un file con le condizioni e con quello che vorresti ottenere?

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7140
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Giusto come dice Baloon, con un file si potrebbe essere più precisi.
    In linea di massima se la colonna interessata fosse la A si potrebbe usare questo codice:
    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        For uriga = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If Cells(uriga, 1) = "SUBTOTALE" And Cells(uriga + 1, 1) <> "" Then
                Cells(uriga, 1).Offset(1, 0).EntireRow.Insert
            End If
        Next
    End Sub
    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!

  4. #4
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Giusto come dice Baloon, con un file si potrebbe essere più precisi.
    In linea di massima se la colonna interessata fosse la A si potrebbe usare questo codice:
    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        For uriga = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If Cells(uriga, 1) = "SUBTOTALE" And Cells(uriga + 1, 1) <> "" Then
                Cells(uriga, 1).Offset(1, 0).EntireRow.Insert
            End If
        Next
    End Sub
    Ciao Ges buona serata
    guardavo il tuo vba e mi sono accorto che inserisce delle righe nel momento in cui faccio delle modifiche perchè la sub è workbook_SheetSelectionChange
    non sarebbe meglio attivarla all'apertura del file ? workbook_Open.
    il motivo è semplice il nostro amico pipp... nella riga vuota va ad inserire un nome e nel momento in cui da' invio viene aggiunta una ulteriore riga (workbook_SheetSelectionChange)
    Rimane comunque un altro problema : dopo che pipp... ha inserito il nome, al riavvio dopo SUBTOTALE la riga non è vuota e comunque inserisce una riga bianca.
    Bisognerebbe capire come specificare che la riga successiva successiva a SUBTOTALE debba essere un numero per poter inserire la riga vuota.

    Io ci sto studiando se lo facciamo in due magari ci arriviamo prima :243:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  5. #5
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Ciao Ges buona serata
    guardavo il tuo vba e mi sono accorto che inserisce delle righe nel momento in cui faccio delle modifiche perchè la sub è workbook_SheetSelectionChange
    non sarebbe meglio attivarla all'apertura del file ? workbook_Open.
    il motivo è semplice il nostro amico pipp... nella riga vuota va ad inserire un nome e nel momento in cui da' invio viene aggiunta una ulteriore riga (workbook_SheetSelectionChange)
    Rimane comunque un altro problema : dopo che pipp... ha inserito il nome, al riavvio dopo SUBTOTALE la riga non è vuota e comunque inserisce una riga bianca.
    Bisognerebbe capire come specificare che la riga successiva successiva a SUBTOTALE debba essere un numero per poter inserire la riga vuota.

    Io ci sto studiando se lo facciamo in due magari ci arriviamo prima :243:
    Risolto.

    Codice: 
    Private Sub Workbook_Open()
    
        For uriga = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If Cells(uriga, 1) = "SUBTOTALE" And VarType(Cells(uriga + 1, 1)) = vbDouble Then
                Cells(uriga, 1).Offset(1, 0).EntireRow.Insert
            End If
        Next
    
    
    End Sub
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  6. #6
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Tanto per puntualizzare questo è quanto ho trovato :

    e' opportuno precisare che, la funzione VarType() riconosce come "vbDouble" *tutte* le celle che contengono dati *numerici* in uno qualsiasi dei seguenti *formati excel*:
    Generale;Numero;Scientifico;Frazione.
    ...con *esclusione* dei formati *contabilita'* e *valuta* che, vengono riconosciuti, dalla funzione VarType(), come "vbCurrency".

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  7. #7

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7140
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Ciao Baloon,
    non avevo visto la tua ultima risposta e che hai risolto, io intanto avevo trovato un'altra soluzione, ormai la posto.
    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        For uriga = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If Cells(uriga, 1) = "SUBTOTALE" And IsNumeric(Cells(uriga + 1, 1)) = True And Cells(uriga + 1, 1) <> "" Then
                Cells(uriga, 1).Offset(1, 0).EntireRow.Insert
            End If
        Next
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  8. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Baloon,
    non avevo visto la tua ultima risposta e che hai risolto, io intanto avevo trovato un'altra soluzione, ormai la posto.
    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        For uriga = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If Cells(uriga, 1) = "SUBTOTALE" And IsNumeric(Cells(uriga + 1, 1)) = True And Cells(uriga + 1, 1) <> "" Then
                Cells(uriga, 1).Offset(1, 0).EntireRow.Insert
            End If
        Next
    End Sub
    sì anche questa è ottima. :261:

    P.S.
    Rimane il discorso del workbook_SheetSelectionChange.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  9. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7140
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    sì anche questa è ottima. :261:

    P.S.
    Rimane il discorso del workbook_SheetSelectionChange.
    Hai ragione, che sbadato .... meglio come hai fatto tu Private Sub Workbook_Open() :98:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  10. #10
    L'avatar di pipp333
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Brescia
    Età
    47
    Messaggi
    14
    Versione Office
    Excel 2016 M
    Likes ricevuti
    0
    Likes dati
    2
    Ho allegato un esempio su cui dover inserire la macro. Quello che vorrei ottenere è l'inserimento della riga sotto SUBTOTALE dove inserire il nome riportato nella riga sottostante, come da esempio in rosso. Non essendo pratico di macro chiedo come inserirle e con quale evento si attivano.
    Grazie a tutti.
    File Allegati File Allegati

  11. #11
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da pipp333 Visualizza Messaggio
    Ho allegato un esempio su cui dover inserire la macro. Quello che vorrei ottenere è l'inserimento della riga sotto SUBTOTALE dove inserire il nome riportato nella riga sottostante, come da esempio in rosso. Non essendo pratico di macro chiedo come inserirle e con quale evento si attivano.
    Grazie a tutti.
    Ciao Pipp333 se guardi il mio tread #5 c'è il file allegato che fa quanto hai chiesto.
    se vuoi sapere dov'è la macro, ALT + F11 e poi a sinistra clicca su questa_cartella_di_lavoro
    Per quanto riguarda l'attivazione non devi fare nulla si attiva e quindi esegue le operazioni quando apri il file.

    Ciao.
    P.S.

    ti riallego il file
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  12. #12
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Premetto che Io non Centro nulla con la Vostra discussione , Ma non ho potuto fare a meno di verificare quanto siete preparati e Bravi tutti voi , Bellissimi tutti i vostri interventi ; Grazie penso da parte di tutti

  13. #13

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7140
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Grazie Maurizio, i complimenti vanno innanzitutto a Baloon che è molto bravo col vba.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  14. #14
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Come diceva Gerry Calà , in un Vecchio Film di molti anni fà : "Non Lo Sapessi Ma Lo Sò" Comunque sia Bravi un pò tutti

Discussioni Simili

  1. [Risolto] Inserire riga vuota ogni riga contenente testo
    Di Samuela nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 29/12/16, 14:00
  2. [Risolto] Cancella riga intera in presenza di cella vuota in colonna
    Di G.Bove nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 23/12/16, 09:35
  3. [Risolto] Inserimento riga come prima riga
    Di roky48 nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 19/12/16, 00:57
  4. Ricerca nominativi con la cella data di nascita vuota
    Di KARLO16 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 17/07/16, 12:52
  5. Risposte: 6
    Ultimo Messaggio: 11/12/15, 12:07

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
  •