Ripetere riga in base a numero di volte

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
gattodimarmo1980
00lunedì 12 agosto 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
tanimon
00martedì 13 agosto 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
ges64
00mercoledì 14 agosto 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
tanimon
00giovedì 15 agosto 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
ges64
00venerdì 16 agosto 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.
tanimon
00venerdì 16 agosto 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
gattodimarmo1980
00domenica 18 agosto 2019 23:40
Ringrazio Taninom e Ges64 rispondo solo ora perché ero in ferie senza pc.Giusto riscontro bravi tutte e 2 Ciao Matteo
gattodimarmo1980
00domenica 8 dicembre 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
00domenica 8 dicembre 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
gattodimarmo1980
00lunedì 9 dicembre 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
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 14:51.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com