È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Ripetere riga in base a numero di volte

  • Messaggi
  • OFFLINE
    gattodimarmo1980
    Post: 154
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 12/08/2019 23:08
    Buona sera a tutti.Nel foglio 1 ho una serie di numeri

    (quelli colorati in giallo) Nella colonnaD ho sempre un

    numero( quello edivenziato in rosso) e dovrei ripetere la

    riga in base alle volte del numero rosso nel foglio2.Si

    potrebbe fare gentilmente con una macro .Ho fatto l'esempio

    a mano e siccome il mio archivio arriva poi fino alla riga

    9000 e non si ferma alla riga12 la cosa diventa un po

    pesante.Grazie Matteo
  • OFFLINE
    tanimon
    Post: 1.275
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 13/08/2019 10:41

    ciao a tutti
    ciao Matteo,
    non riesco ad inserire nel tagCode



    in un modulo

    Sub copia()
    Dim sh As Worksheet, sh1 As Worksheet
    Dim ur As Long, ur1 As Long, r As Long, n As Long
    Dim contatore As Integer

    Application.ScreenUpdating = False

    Set sh = Sheets("Foglio1")
    Set sh1 = Sheets("Foglio3")
    ur = sh.Cells(Rows.Count, "d").End(xlUp).Row
    ur1 = sh1.Cells(Rows.Count, "a").End(xlUp).Row + 1

    With sh
    .Activate
    For r = 1 To ur ' parto dalla riga 2 se ci sono intestazioni
    contatore = sh.Cells(r, "d").Value

    For n = 1 To contatore
    sh.Range(Cells(r, 1), Cells(r, 3)).Copy sh1.Cells(ur1, 1)
    ur1 = ur1 + 1
    Next n

    Next r
    End With

    sh1.Activate
    Application.ScreenUpdating = True
    Set sh = Nothing
    Set sh1 = Nothing

    End Sub



    prova e fai sapere



    ciao

    Frank
    [Modificato da tanimon 13/08/2019 10:42]







    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
  • OFFLINE
    ges64
    Post: 31
    Registrato il: 13/08/2015
    Città: COMO
    Età: 60
    Utente Junior
    excel 2016
    00 14/08/2019 23:40
    Ciao,
    un'alternativa:
    Sub ripeti()
        Dim myArray As Variant
        Dim uR&, x&, r&, j%
        uR = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
        x = 1
        For r = 1 To uR
            myArray = Foglio1.Cells(r, 1).Resize(, 3)
            For j = 1 To Foglio1.Cells(r, 4)
                Foglio2.Cells(x, 1).Resize(, 3) = myArray
                x = x + 1
            Next j
        Next r
    End Sub
  • OFFLINE
    tanimon
    Post: 1.277
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 15/08/2019 03:41
    Ciao Ges64,
    dall'ultima volta che ci siamo sentiti sul forum che amministri,
    e' un piacere per me averti come "follower" su questo.
    [SM=g27811]

    ciao
    Frank







    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
  • OFFLINE
    ges64
    Post: 32
    Registrato il: 13/08/2015
    Città: COMO
    Età: 60
    Utente Junior
    excel 2016
    00 16/08/2019 01:04
    Ciao Tanimon, ben trovato qui.
    Anche se sono presente per la maggior parte del tempo nel mio forum di Excel, sono un "follower" su diversi altri, italiani stranieri: si alimenta sempre di più la passione e s'impara sempre qualcosa.
  • OFFLINE
    tanimon
    Post: 1.278
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 16/08/2019 07:09
    Ciao a tutti, [SM=x423028]
    ciao Ges64,


    ges64, 8/16/2019 1:04 AM:

    Ciao Tanimon, ben trovato qui.



    Ti ringrazio, ma considerando le nostre date di registrazione a questo Forum, forse, avrei dovuto dirlo io a te.

    ges64, 8/16/2019 1:04 AM:

    sono un "follower" su diversi altri, italiani stranieri: si alimenta sempre di più la passione e s'impara sempre qualcosa.



    sacra e santa verità
    [SM=g27811]

    Ciao
    Frank







    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
  • OFFLINE
    gattodimarmo1980
    Post: 154
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 18/08/2019 23:40
    Ringrazio Taninom e Ges64 rispondo solo ora perché ero in ferie senza pc.Giusto riscontro bravi tutte e 2 Ciao Matteo
  • OFFLINE
    gattodimarmo1980
    Post: 175
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 08/12/2019 14:11
    Buona domenica a tutti .Allego il foglio con la macro
    di Ges64 ,si potrebbe modifare facendo si che le righe
    si ripetessero in base al numero di volte (colonna E).Grazie Matteo.Ho fatto il foglio2 come esempio manualmente.
  • ABCDEF@Excel
    00 08/12/2019 19:28
    Basta che modifichi i numeri delle tre righe
    myArray = Foglio1.Cells(r, 1).Resize(, 4)
    For j = 1 To Foglio1.Cells(r, 5)
    Foglio2.Cells(x, 1).Resize(, 4) = myArray

    Incuriosito dal fatto che pesa 2.185 KB
    Ho trovato delle foto di joker "sovrapposte" ed in foglio3 la colonna D colorata ???
    Adesso pesa 17KB
  • OFFLINE
    gattodimarmo1980
    Post: 176
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 09/12/2019 18:08
    Ringrazio ABCDEF@Excel per la modifica.Incuriosito dal fatto che pesa 2.185 KB si hai ragione, non avevo cancellato il foglio3.Buona serata