Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Ripetere riga in base a numero di volte

Ultimo Aggiornamento: 09/12/2019 18:08
Post: 154
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 43
Utente Junior
2003
OFFLINE
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
Post: 1.275
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
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...
Post: 31
Registrato il: 13/08/2015
Città: COMO
Età: 60
Utente Junior
excel 2016
OFFLINE
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
Post: 1.277
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
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...
Post: 32
Registrato il: 13/08/2015
Città: COMO
Età: 60
Utente Junior
excel 2016
OFFLINE
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.
Post: 1.278
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
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...
Post: 154
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 43
Utente Junior
2003
OFFLINE
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
Post: 175
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 43
Utente Junior
2003
OFFLINE
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.
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
Post: 176
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 43
Utente Junior
2003
OFFLINE
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
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:06. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com