Risultati da 1 a 19 di 19

Discussione: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio



  1. #1
    L'avatar di Gianluca85
    Clicca e Apri
    Data Registrazione
    Sep 2016
    LocalitÓ
    Roma
    Messaggi
    7
    Versione Office
    2016
    Utile ricevuti
    0
    Utile dati
    0

    Question Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Buongiorno a tutti!

    Premetto che non sono un esperto e quindi ragazzi chiedo aiuto a voi per risolvere un problema che da giorni mi affligge..

    Il mio scopo Ŕ quello di duplicare delle righe un numero di volte uguale ad un valore associato per ogni riga e riportarle in un altro foglio all'interno della stessa cartella. In pratica nel Foglio2 ho bisogno di duplicare la riga 9 ( solo la parte codice prodotto e non tutta la riga) 2 volte nella tabella affianco (colonne J e K) e cosý via per tutte le altre righe. Successivamente vorrei riportare la seconda tabella (colonne J e K) nel Foglio1 nella posizione dove ho disegnato la tabella. Il mio problema pi¨ grande Ŕ che in numeri all'interno della colonna quantitÓ cambiano di volta in volta e quindi non riesco a creare una macro che mi permetta in totale libertÓ di automatizzare questo processo.

    Ho provato a scopiazzare in giro adattando le VBA trovate, ma ottengo spesso errore runtime, errore 13 o un risultato diverso rispetto a quello sperato. Chiedo quindi un aiuto dai guru di questo forum! Grazie

    Ah dimenticavo uso excel 2016.
    File Allegati File Allegati
    Ultima modifica fatta da:Gerardo ZuccalÓ; 22/09/16 alle 01:47

  2. #2
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    LocalitÓ
    Catania
    EtÓ
    73
    Messaggi
    1812
    Versione Office
    Excel2010
    Utile ricevuti
    448
    Utile dati
    109

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao Gianluca
    Per le prossime volte devi allegare non un file vuoto ma anche le prove che hai fatto in modo da eventualmente correggere gli errori.

    Prova con questa macro (associata ad un pulsante Modulo)
    Codice: 
    Option Explicit
    
    
    Sub copia_incolla()
    Dim uRiga As Long, riga As Long, i As Long, j As Long
    uRiga = Cells(Rows.Count, 6).End(xlUp).Row
    riga = 8
    For i = 8 To uRiga
        If Cells(i, 8).Value > 0 Then
            For j = 1 To Cells(i, 8).Value
                Range(Cells(i, 6), Cells(i, 7)).Copy Destination:=Cells(riga, 10)
                riga = riga + 1
            Next j
        End If
    Next i
    uRiga = Cells(Rows.Count, 10).End(xlUp).Row
    Range(Cells(7, 10), Cells(uRiga, 11)).Copy Destination:=Sheets("Foglio1").Cells(11, 11)
    
    
    MsgBox "Fatto!"
    End Sub
    Fai sapere. Ciao,
    Mario

  3. I seguenti utenti hanno dato un "Utile"


  4. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    4476
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1511
    Utile dati
    951

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao,
    prova con questo codice:

    Codice: 
    Sub duplica()
    Dim sh1 As Worksheet, sh2 As Worksheet, y As Integer, x As Integer
    Dim uRiga As Long, i as Long
        With Application
            .ScreenUpdating = False
            .CutCopyMode = False
        End With
        Set sh1 = Worksheets("Foglio1")
        Set sh2 = Worksheets("Foglio2")
        With sh2
            uRiga = .Cells(Rows.Count, 10).End(xlUp).Row
            i = 8
                For y = 8 To 21
                 For x = 1 To .Cells(y, 8).Value
                    .Cells(i, 10) = Cells(y, 6)
                     .Cells(i, 11) = Cells(y, 7)
                    i = i + 1
                  Next x
             Next y
            .Range("J8:K" & uRiga).Copy Destination:=sh1.Range("J12")
          End With
        With Application
            .ScreenUpdating = True
            .CutCopyMode = True
        End With
        Set sh2 = Nothing
        Set sh1 = Nothing
      End Sub
    EDIT: Ciao Mario, scusami non ho fatto il refresh della pagina e non ho visto la tua risposta.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se pu˛ sembrare improbabile, non pu˛ che essere quella giusta!

  5. I seguenti utenti hanno dato un "Utile"


  6. #4
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    LocalitÓ
    Catania
    EtÓ
    73
    Messaggi
    1812
    Versione Office
    Excel2010
    Utile ricevuti
    448
    Utile dati
    109

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao Ges
    meglio due macro che fanno la stessa cosa anzichŔ niente!!!

    Ciao,
    Mario

  7. #5
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    45
    Messaggi
    173
    Versione Office
    2010
    Utile ricevuti
    32
    Utile dati
    8

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Ges
    meglio due macro che fanno la stessa cosa anzichŔ niente!!!

    Ciao,
    Mario
    Famo 3 allora....

    Codice: 
    Option Explicit
    Sub Copia_Valori()
    'By Cuc¨
    Dim n As Integer
    Dim r As Long, i As Long, Ur As Long
    Dim Xcell As Range, RngX As Range
    
    
    Application.ScreenUpdating = False
    Sheets("Foglio1").Select 'Seleziono e ripulisco il range Foglio1 preparandolo ad acquisire i nuovi dati
    Sheets("Foglio1").Range(Cells(12, 10), Cells(Rows.Count, 11).End(xlDown)).ClearContents
    Sheets("Foglio2").Select 'Seleziono e ripulisco il range Foglio2 preparandolo ad acquisire i nuovi dati
    Sheets("Foglio2").Range(Cells(8, 10), Cells(Rows.Count, 11).End(xlDown)).ClearContents
    r = 8
    Set RngX = Range(Cells(8, 8), Cells(Rows.Count, 8).End(xlUp)) 'Definisco il range QuantitÓ
    
    
    For Each Xcell In RngX 'Ciclo il range quantita
            n = Xcell.Value 'Assegno alla variabile n la quantitÓ del prodotto
            If n > 0 Then 'Se la quantitÓ Ŕ maggiore di 0 allora procedo
                For i = 1 To n 'Ciclo i prodotti da 1 alla quantitÓ individuata
                    Cells(r, 10) = Xcell.Offset(0, -2).Value 'Assegno i relativo valore del prodotto
                    Cells(r, 11) = Xcell.Offset(0, -1).Value 'Assegno il relativo prodotto del codice
                r = r + 1 'Incremento il numero di riga
                Next i
            End If
    Next Xcell
    
    
    Ur = Range("K" & Rows.Count).End(xlUp).Row 'Individuo ultima riga piena della colonna K
    Sheets("Foglio2").Range(Cells(8, 10), Cells(Ur, 11)).Copy 'Copio il range appena riempito del foglio2
    Sheets("Foglio1").Range("J12").PasteSpecial xlPasteValues 'Lo incollo nel relativo range del Foglio1 a partire dalla cella J12
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    
    
    MsgBox "Elaborazione dati Terminata con successo!"
    End Sub

  8. I seguenti utenti hanno dato un "Utile"


  9. #6
    L'avatar di Gianluca85
    Clicca e Apri
    Data Registrazione
    Sep 2016
    LocalitÓ
    Roma
    Messaggi
    7
    Versione Office
    2016
    Utile ricevuti
    0
    Utile dati
    0

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ragazzi grazie per le risposte! Le provo subito e vi faccio sapere. Inoltre per le prossime volte posto anche le prove!

  10. #7

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    4476
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1511
    Utile dati
    951

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da Cuc¨^_^ Visualizza Messaggio
    Famo 3 allora....

    ..
    Ho provato i tempi (disattivando i msgbox) quella mia e quella di Cuc¨ si equivalgono (circa mezzo secondo), mentre quella di Mario impiega pi¨ di 2 secondi
    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!

  11. #8
    L'avatar di Anthony
    Clicca e Apri
    Data Registrazione
    Sep 2016
    LocalitÓ
    Ivrea (TO)
    Messaggi
    354
    Versione Office
    2003-2010-2016
    Utile ricevuti
    249
    Utile dati
    36

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ho provato i tempi (disattivando i msgbox) quella mia e quella di Cuc¨ si equivalgono (circa mezzo secondo), mentre quella di Mario impiega pi¨ di 2 secondi
    Allora anche questa non fara' brutta figura:
    Codice: 
    Sub NUplica()
    'by Anthony
    Dim Final As Range, I As Long
    '
    inizio = Timer
    'Application.ScreenUpdating = False
    Set Final = Sheets("Foglio1").Range("J12")      '<<< La posizione della tabella finale
    '
    Range("J8:J" & Rows.Count).Resize(, 2).ClearContents
    Final.Resize(50000, 2).ClearContents
    For I = 8 To Cells(Rows.Count, "H").End(xlUp).Row
        If Cells(I, 8) > 0 Then
            Cells(Rows.Count, "J").End(xlUp).Offset(1, 0).Resize(Cells(I, 8).Value, 2).Value = Cells(I, 6).Resize(1, 2).Value
            Final.Offset(50000, 0).End(xlUp).Offset(1, 0).Resize(Cells(I, 8).Value, 2).Value = Cells(I, 6).Resize(1, 2).Value
        End If
    Next I
    'Application.ScreenUpdating = True
    Range("O4").Value = Timer - inizio
    
    'MsgBox ("Completato...")
    
    End Sub
    Ciao a tutti.

  12. I seguenti 3 utenti hanno dato un "Utile" a Anthony per questo post:


  13. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    4476
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1511
    Utile dati
    951

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da Anthony Visualizza Messaggio
    Allora anche questa non fara' brutta figura:
    ..
    Ciao Antony,
    la tua ci ha mortificato... solo 0,01 secondi!
    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!

  14. #10
    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Napoli
    EtÓ
    63
    Messaggi
    3197
    Versione Office
    2007 - 2013
    Utile ricevuti
    432
    Utile dati
    69

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Gesuele qui Ŕ arrivato il "Maradona" del VBA

    P.S. Ovviamente scossa (un saluto) non pu˛ che essere il "PelŔ"
    Alfredo

    "Non esistono cose facili o difficili; esistono cose che si sanno e cose che non si sanno"

    "Solo due cose sono infinite: l'universo e la stupiditÓ umana; riguardo l'universo ho ancora dei dubbi" (Albert Einstein)

  15. #11
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    45
    Messaggi
    173
    Versione Office
    2010
    Utile ricevuti
    32
    Utile dati
    8

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    la tua ci ha mortificato... solo 0,01 secondi!
    Anche no, visto che non ho sviluppato il codice per la velocitÓ di esecuzione ma per la semplicitÓ per eventuale aggiustamenti da parte di Gianluca85. (infatti avevo commentato tutto il codice passo a passo...)

  16. #12
    L'avatar di Anthony
    Clicca e Apri
    Data Registrazione
    Sep 2016
    LocalitÓ
    Ivrea (TO)
    Messaggi
    354
    Versione Office
    2003-2010-2016
    Utile ricevuti
    249
    Utile dati
    36

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Antony,
    la tua ci ha mortificato... solo 0,01 secondi!
    Non scrivo sul forum per mortificare nessuno, ma questo penso che tu l'abbia capito; e (tra l'altro) ho solo riciclicato la macro che avevo appena proposto a Keishusan.

    A proposito, mi dici come si comporta la macro inserendo le istruzioni ScreenUpdating? Perche' sul mio Pc i tempi aumentano!

    Ciao a tutti.

  17. #13
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    LocalitÓ
    Catania
    EtÓ
    73
    Messaggi
    1812
    Versione Office
    Excel2010
    Utile ricevuti
    448
    Utile dati
    109

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao a tutti
    Non sono portato a ... gareggiare ma solo (per quel poco che so) a cercare d'aiutare.
    Comunque il risultati col mio PC (Ges il Mac sarÓ un bel soprammobile ma ti dÓ tempi ... incomprensibili) sono questi

    ............GES...........MARIO........CUCU'^_^..ANTHONY
    Tempi: 0,10546875 0,39453125 0,11328125 0,015625
    Ciao a tutti,
    Mario

  18. #14

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    4476
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1511
    Utile dati
    951

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao Antony,
    naturalmente si scherza ... ... ben vengano le soluzioni come le tue che sono utili per tutti!
    Citazione Originariamente Scritto da Anthony Visualizza Messaggio
    ..
    .A proposito, mi dici come si comporta la macro inserendo le istruzioni ScreenUpdating? Perche' sul mio Pc i tempi aumentano!
    .
    Caspita!!! Nel mio computer si Ŕ velocizzata!!! tempi 0,0 /0,001
    Strano che nel tuo PC si rallenti
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se pu˛ sembrare improbabile, non pu˛ che essere quella giusta!

  19. #15

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    LocalitÓ
    Como
    EtÓ
    53
    Messaggi
    4476
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1511
    Utile dati
    951

    Re: Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao a tutti
    ..Ges il Mac sarÓ un bel soprammobile ma ti dÓ tempi ... incomprensibili..
    ..
    Ehm, ho usato e sto usando un Windows ...


    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se pu˛ sembrare improbabile, non pu˛ che essere quella giusta!

  20. #16
    L'avatar di Gianluca85
    Clicca e Apri
    Data Registrazione
    Sep 2016
    LocalitÓ
    Roma
    Messaggi
    7
    Versione Office
    2016
    Utile ricevuti
    0
    Utile dati
    0

    Re: [RISOLTO] Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ragazzi GRAZIE di cuore! Ho avuto solo il tempo di testare quella di Cuc¨ e di modificarla per le mie esigenze e devo dire che va una bomba!! Ges e Marious44 grazie anche a voi per il supporto e la velocitÓ con cui avete scritto.. Impagabili!

  21. #17
    L'avatar di Dillina
    Clicca e Apri
    Data Registrazione
    Aug 2016
    LocalitÓ
    Tenerife
    Messaggi
    636
    Versione Office
    2013
    Utile ricevuti
    124
    Utile dati
    613

    Re: [RISOLTO] Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Gianluca sei stato servito e riverito, con caffŔ e ammazzacaffŔ!
    Immagino ti sia sfuggito menzionare Anthony che ha proposto un'ottima soluzione, mi sembra di aver capito, la pi¨ veloce!!
    Non me ne vogliano gli altri

    Ragazzi complimenti a tutti!!! Siete dei geni!!

    Sii gentile quando possibile. ╚ sempre possibile
    (Dalai Lama)

  22. #18
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    45
    Messaggi
    173
    Versione Office
    2010
    Utile ricevuti
    32
    Utile dati
    8

    Re: [RISOLTO] Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Citazione Originariamente Scritto da Gianluca85 Visualizza Messaggio
    Ragazzi GRAZIE di cuore! Ho avuto solo il tempo di testare quella di Cuc¨ e di modificarla per le mie esigenze e devo dire che va una bomba
    Benissimo allora sono riuscito nel mio intento e cioŔ metterti in condizione di fare da solo...

    bye bye e alla prossima!

  23. #19
    L'avatar di Gerardo ZuccalÓ
    Clicca e Apri
    Data Registrazione
    May 2015
    LocalitÓ
    Milano, Italy
    EtÓ
    48
    Messaggi
    4451
    Versione Office
    Office 2013
    Utile ricevuti
    980
    Utile dati
    942

    Re: [RISOLTO] Duplicare una riga un numero di volte pari ad un valore indicato e copiare quest'ultima in un altro foglio

    Ciao ragazzi
    Io ovviamente non conoscendo il VBA (Rosicone) mi devo accontentare delle formule
    Spulciando tra le mie scartoffie ho trovato una vecchia formula che ho riadattato

    In J8 metti questa formula matriciale** e trascina a destra e in basso fino alla bisogna

    =SE(RIGHE($J$8:J8)>SOMMA($H$8:$H$21);"";INDICE(F$8:F$21;CONFRONTA(VERO;CONTA.SE(J$7:J7;F$8:F$21)<SOMMA.SE(F$8:F$21;F$8:F$21;$H$8:$H$21);0)))

    la velocitÓ Ŕ da testare

    Un saluto a tutti




    ** le formule matriciali devono essere inserite utilizzando la combinazione della tastiera
    premendo CTRL, MAIUSC, INVIO (e non solo INVIO). Tenere premuto sia il tasto CTRL e il tasto MAIUSC poi premi INVIO.


    F
    G
    H
    I
    J
    K
    7
    codice prodotto quantitÓ Codice Prodotto
    8
    1234
    pippo
    0
    1235
    pluto
    9
    1235
    pluto
    2
    1235
    pluto
    10
    125
    minii
    10
    125
    minii
    11
    123456
    pape
    0
    125
    minii
    12
    465464
    alessio
    20
    125
    minii
    13
    7458758
    fabio
    0
    125
    minii
    14
    8654
    gia
    7
    125
    minii
    15
    457457
    gianni
    0
    125
    minii
    16
    34645
    qui
    7
    125
    minii
    17
    3476457
    quo
    5
    125
    minii
    18
    47457
    qua
    0
    125
    minii
    19
    57567
    fede
    4
    125
    minii
    20
    3467457
    calzino
    200
    465464
    alessio
    21
    457567
    maglia
    4
    465464
    alessio
    22
    465464
    alessio
    23
    465464
    alessio
    24
    465464
    alessio
    25
    465464
    alessio
    26
    465464
    alessio
    27
    465464
    alessio
    28
    465464
    alessio
    29
    465464
    alessio
    30
    465464
    alessio
    31
    465464
    alessio
    32
    465464
    alessio
    33
    465464
    alessio
    34
    465464
    alessio
    35
    465464
    alessio
    36
    465464
    alessio
    37
    465464
    alessio
    38
    465464
    alessio
    39
    465464
    alessio
    40
    8654
    gia
    41
    8654
    gia
    42
    8654
    gia
    43
    8654
    gia
    44
    8654
    gia
    45
    8654
    gia
    46
    8654
    gia
    47
    34645
    qui
    48
    34645
    qui
    49
    34645
    qui
    50
    34645
    qui
    51
    34645
    qui
    52
    34645
    qui
    53
    34645
    qui
    54
    3476457
    quo
    55
    3476457
    quo
    56
    3476457
    quo
    57
    3476457
    quo
    58
    3476457
    quo
    59
    57567
    fede
    60
    57567
    fede
    61
    57567
    fede
    62
    57567
    fede
    63
    3467457
    calzino
    64
    3467457
    calzino
    65
    3467457
    calzino

  24. I seguenti utenti hanno dato un "Utile"

    ges

Discussioni Simili

  1. [Risolto] Copiare in un altro foglio celle di una riga se si verifica una condizione
    Di sowhatt nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 03/03/17, 13:05
  2. Risposte: 2
    Ultimo Messaggio: 28/02/17, 20:47
  3. Risposte: 8
    Ultimo Messaggio: 27/02/17, 18:19
  4. Copiare intera riga in altro foglio se...
    Di KARLO16 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 03/07/16, 19:00
  5. Copiare contenuto colonna e riga in altro foglio
    Di Pcl90 nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 23/06/16, 13:08

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
  •