Risultati da 1 a 10 di 10

Discussione: MACRO - Aggiungi numero Variabile di righe a una tabella



  1. #1
    L'avatar di kellington90
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    Italia
    Messaggi
    31
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    2

    MACRO - Aggiungi numero Variabile di righe a una tabella

    Ciao a tutti avrei un quesito da porvi.
    Avrei la necessità di creare una macro che, alla pressione di un tasto, vada ad aggiungere instantaneamente un numero preciso di righe all'interno di una tabella.

    Mi spiego meglio: su una cella (A1) c'è scritto un numero (ad esempio 150), su Foglio2 ho una tabella con una sola riga, che parte da A10 (intetsazione) e A11 (prima riga tabella). Vorrei che, premendo il tasto macro, sulla tabella di foglio2 vengano aggiunte 150 righe-1 (poichè una è gia presente di default).


    Per il momento ci sono riuscito creando una macro con un ciclo for, ma vorrei evitare di far lavorare "inutilmente" il pc poichè al momento con il ciclo for vedo aggiornarsi riga per riga fino alla 150esima.. vorrei venisse fatto in modo istantaneo, di quale codice ho bisogno ?

    Grazie in anticipo

  2. #2

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

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Ciao,
    visto che il file dovresti già avercelo pronto, allegalo (invece di farlo creare da zero a chi vorrà aiutarti) in modo da poter vedere cosa hai fatto e poter fare dei test per trovare un'altra soluzione.

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

  3. #3
    L'avatar di kellington90
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    Italia
    Messaggi
    31
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    2

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Hai ragione cromagno, perdonami.
    Allego un file, c'è una tabella, in A1 c'è un numero (variabile, in questo caso l'ho impostato fisso su 15), con un tasto di una macro vorrei che si andassero ad aggiungere 15(-1 quindi 14) righe alla tabella inserendole dalla prima riga in poi (per intenderci, dalla riga 8)

    Grazie spero qualcuno sia in grado (p.s. niente ciclo for, vorrei una cosa istantanea)
    File Allegati File Allegati

  4. #4
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1114
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    perché non hai allegato un file xlsm con la tua macro già funzionante ? magari a qualcuno interessa vedere come si fa col for

  5. #5
    L'avatar di kellington90
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    Italia
    Messaggi
    31
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    2

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Citazione Originariamente Scritto da patel Visualizza Messaggio
    perché non hai allegato un file xlsm con la tua macro già funzionante ? magari a qualcuno interessa vedere come si fa col for
    Ciao Patel,

    Non ho allegato il file che mi chiedi, poichè ho cancellato quella macro. Troppo dispendiosa e probabilmente non il top dell'efficienza. Potrei provare a ricostruirla, questo si, ma stiamo andando un tantin off-topic poichè sto facendo io la gentile richiesta :O .

    Ringrazio in anticipo chi è in grado di tirar giu il codice

  6. #6

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

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Ti propongo due soluzioni (ma ce ne sono sicuramente altre ancora):
    Codice: 
    Sub Aggiungi1()
    Dim i As Long
    
    
    For i = 1 To Foglio1.Range("a1")
        Foglio1.ListObjects("Tabella1").ListRows.Add alwaysinsert:=10
    Next
    End Sub
    
    
    Sub Aggiungi2()
        Rows("8:" & Range("a1") + 7).Insert Shift:=xlDown
    End Sub

  7. I seguenti 2 utenti hanno dato un "Like" a Rubik72 per questo post:


  8. #7

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

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Ciao a tutti,

    un'alternativa alle soluzioni già proposte:

    Codice: 
    Sub Aggiungi_Righe()
    Dim Inizio As Long, Fine As Long, Righe As Long
    
    
    If Range("A1").Value = "" Then Exit Sub
    Inizio = ActiveSheet.ListObjects("Tabella1").HeaderRowRange.Row
    Fine = Inizio + ActiveSheet.ListObjects("Tabella1").DataBodyRange.Rows.Count
    Righe = Range("A1").Value - 1
    ActiveSheet.ListObjects("Tabella1").Resize Range(Cells(Inizio, 1), Cells(Fine + Righe, 6))
    
    
    End Sub
    P.S.
    comunque non capisco perchè se in A1 c'è scritto 15 devo aggiungere quelle righe meno quelle già presenti in tabella....
    Per questo ho scelto il "ridimensionamento", almeno il codice è più semplice da modificare se fosse come penso io :32:

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

  9. I seguenti 2 utenti hanno dato un "Like" a cromagno per questo post:


  10. #8
    L'avatar di kellington90
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    Italia
    Messaggi
    31
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    2

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Un grazie a entrambi sono tutte soluzioni ottime.
    La soluzione proposta da cromagno è quella che utilizzero' poichè sembra si adatti molto bene a eventuali cambiamenti, grazie ancora..
    Dato che utilizzi la funzione "ridimensiona" è opportuno dover specificare il numero di colonne (in questo caso 6) ? Oppure c'è un modo per lasciare il numero originario di colonne? Sono un po scarso in vba, ma mi verrebbe in mente di dichiarare un altra variabile tipo "colonne" e assegnargli il numero di colonne originario.. per poi andare a inserire al posto di "6" , "colonne" ... sbaglio qualcosa ?

  11. #9

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

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Citazione Originariamente Scritto da kellington90 Visualizza Messaggio
    Dato che utilizzi la funzione "ridimensiona" è opportuno dover specificare il numero di colonne (in questo caso 6) ? Oppure c'è un modo per lasciare il numero originario di colonne?
    Ciao,
    il metodo per conoscere le colonne è molto simile a quello usato per le righe.

    Comunque ti lascio la "versione completa".
    Alla tabella verranno aggiunte ESATTAMENTE il numero di righe che scrivi nella cella A1:

    Codice: 
    Sub Aggiungi_Righe()
    Dim InizioRow As Long, FineRow As Long, Righe As Long
    Dim InizioCol As Long, FineCol As Long, Numero As Boolean
    
    
    Numero = IsNumeric(Range("A1").Value)
    If Range("A1").Value = "" Or Numero = False Then
        MsgBox "Controllare il valore inserito nella cella A1!!!", vbCritical, "VALORE NON CORRETTO"
        Exit Sub
    End If
    
    
    With ActiveSheet.ListObjects("Tabella1")
        InizioRow = .HeaderRowRange.Row
        InizioCol = .DataBodyRange.Column
        FineRow = InizioRow + .DataBodyRange.Rows.Count
        FineCol = (InizioCol - 1) + .DataBodyRange.Columns.Count
        Righe = Range("A1").Value
        .Resize Range(Cells(InizioRow, InizioCol), Cells(FineRow + Righe, FineCol))
    End With
    MsgBox "Sono state aggiunte " & Righe & " righe alla tabella!", vbInformation
    End Sub

    [EDIT]

    Se risolvi, non dimenticare di segnare la discussione come Risolta:
    Vai sul menù "Strumenti Discussione" (all'inizio del thread) e scegli la voce "Segna questa discussione come Risolta...".
    File Allegati File Allegati

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

  12. #10
    L'avatar di kellington90
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    Italia
    Messaggi
    31
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    2

    Re: MACRO - Aggiungi numero Variabile di righe a una tabella

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao,
    il metodo per conoscere le colonne è molto simile a quello usato per le righe.

    Comunque ti lascio la "versione completa".
    Alla tabella verranno aggiunte ESATTAMENTE il numero di righe che scrivi nella cella A1:

    Codice: 
    Sub Aggiungi_Righe()
    Dim InizioRow As Long, FineRow As Long, Righe As Long
    Dim InizioCol As Long, FineCol As Long, Numero As Boolean
    
    
    Numero = IsNumeric(Range("A1").Value)
    If Range("A1").Value = "" Or Numero = False Then
        MsgBox "Controllare il valore inserito nella cella A1!!!", vbCritical, "VALORE NON CORRETTO"
        Exit Sub
    End If
    
    
    With ActiveSheet.ListObjects("Tabella1")
        InizioRow = .HeaderRowRange.Row
        InizioCol = .DataBodyRange.Column
        FineRow = InizioRow + .DataBodyRange.Rows.Count
        FineCol = (InizioCol - 1) + .DataBodyRange.Columns.Count
        Righe = Range("A1").Value
        .Resize Range(Cells(InizioRow, InizioCol), Cells(FineRow + Righe, FineCol))
    End With
    MsgBox "Sono state aggiunte " & Righe & " righe alla tabella!", vbInformation
    End Sub

    [EDIT]

    Se risolvi, non dimenticare di segnare la discussione come Risolta:
    Vai sul menù "Strumenti Discussione" (all'inizio del thread) e scegli la voce "Segna questa discussione come Risolta...".


    Grazie cromagno, io aggiungerò semplicemente una riga di codice che all'inizio della macro cancella tutte le righe dopo la prima, in modo tale che ad ogni pressione del tasto macro aggiunge 15 righe una sola volta (e non 15+15+15 ecc)
    Grazie comunque, risolta!

Discussioni Simili

  1. Help Macro Aggiungi Riga
    Di Swinbul nel forum Domande su Excel VBA e MACRO
    Risposte: 18
    Ultimo Messaggio: 05/04/17, 21:11
  2. Eliminare in excel: aggiungi righe alla fine
    Di lucarossi nel forum Domande su Excel in generale
    Risposte: 26
    Ultimo Messaggio: 15/12/16, 21:21
  3. [Risolto] Macro per copiare righe specifiche da una tabella ad un'altra
    Di MAT89 nel forum Domande su Excel VBA e MACRO
    Risposte: 16
    Ultimo Messaggio: 29/11/16, 10:08
  4. Memorizzare in una variabile il valore contenuto nella cella di una tabella.
    Di alfrimpa nel forum Domande sul Microsoft Word
    Risposte: 8
    Ultimo Messaggio: 27/10/16, 16:20
  5. Numero righe in struttura "Tabella"
    Di alfrimpa nel forum Domande su Excel VBA e MACRO
    Risposte: 15
    Ultimo Messaggio: 05/04/16, 20:27

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
  •