Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per copiare stesso range in colonne progressive

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro per copiare stesso range in colonne progressive

Postdi lisaxx89 » 12/01/14 19:05

Salve a tutti. Avrei bisogno di un aiuto.. sto effettuando delle simulazioni e quindi avrei bisogno di copiare i valori che ottengo in un certo range (es. A1:A20) in un altro foglio. I valori che ottengo in quel range cambiano sempre, in quanto frutto di formule contenenti num casuali (è fatto di proposito in questo modo) e io dovrei riuscire a copiare almeno 1000 volte quei valori in un nuovo foglio ma ovviamente non nella stessa colonna. Dovrei ottenere un nuovo foglio con 1000 colonne contenenti valori differenti ma che provengono tutti da quello stesso range cosi da poterne fare poi una media per riga.
Spero di essermi riuscita a spiegare e qualcuno possa aiutarmi.
In ogni caso grazie mille a tutti.
lisaxx89
Newbie
 
Post: 5
Iscritto il: 12/01/14 18:56

Sponsor
 

Re: Macro per copiare stesso range in colonne progressive

Postdi Flash30005 » 12/01/14 20:19

Puoi usare questa macro che richiamerai ogni qualvolta che devi trascrivere i tuoi dati
Codice: Seleziona tutto
Sub Trascrivi()
UC2 = Worksheets("Foglio2").Cells(1, Columns.Count).End(xlToLeft).Column + 1
Worksheets("Foglio1").Range("A1:A20").Copy Destination:=Worksheets("Foglio2").Cells(1, UC2)
End Sub


Adatta i nomi dei fogli che hai sostituendo questo nome nella macro (Foglio1 dove hai i dati variabili da A1 a A20, Foglio2 dove saranno trascritti)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro per copiare stesso range in colonne progressive

Postdi lisaxx89 » 12/01/14 20:34

Flash grazie mille per la risposta.. però c'è un problema. I valori che vengono copiati non devono essere riportati come formule ma semplicemente come valori.
Inoltre visto che devo ripetere l'operazione 1000 volte non esiste qualcosa da inserirlo direttamente nella macro?
lisaxx89
Newbie
 
Post: 5
Iscritto il: 12/01/14 18:56

Re: Macro per copiare stesso range in colonne progressive

Postdi Anthony47 » 13/01/14 01:43

Hummmm....
Prova questa variante:
Codice: Seleziona tutto
Sub Trascrivi1000()
For I=1 to 1000
    UC2 = Worksheets("Foglio2").Cells(1, Columns.Count).End(xlToLeft).Column + 1
    Worksheets("Foglio1").Range("A1:A20").Copy
    Worksheets("Foglio2").Cells(1, UC2). PasteSpecial Paste:=xlPasteValues, _
         Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
Next I
End Sub

Se pero' copi in Foglio2 sempre gli stessi valori, allora dovresti chiarire che trucco /procedura usi per modificare i valori in A1:A20.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per copiare stesso range in colonne progressive

Postdi lisaxx89 » 13/01/14 23:19

Grazie mille..tra i vostri suggerimenti e qualche informazione su internet ho realizzato questo codice che funziona perfettamente! un grazie infinito:
Codice: Seleziona tutto
Sub Trascrivi()
For i = 1 To 250
  UC2 = Worksheets("Foglio2").Cells(1, Columns.Count).End(xlToLeft).Column + 1
  Sheets("Foglio1").Range("K11:K27").Copy
  Sheets("Foglio2").Cells(1, UC2).PasteSpecial xlPasteValues
Next i
End Sub


Ho però un ultima richiesta :P 1000 colonne sono impossibili da replicare in un foglio Excel in quanto ne entrano al massimo 256 (più o meno). Come si fa per copiare i valori diciamo più sotto una volta raggiunto il "massimo"(256) ??
lisaxx89
Newbie
 
Post: 5
Iscritto il: 12/01/14 18:56

Re: Macro per copiare stesso range in colonne progressive

Postdi Anthony47 » 14/01/14 02:24

Se indichi quale versione di Excel usi la prossima volta te lo ricordiamo noi quante colonne hai a disposizione...
Ma allora perche' non metti tutto in 1000 righe?
Codice: Seleziona tutto
Sub TrascriviA1000()
'su 1000 righe successive
'
For i = 0 To 999
    UR2 = Worksheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Worksheets("Foglio1").Range("K11:K27").Copy
    Worksheets("Foglio2").Cells(UR2, 1).PasteSpecial Paste:=xlPasteValues, _
         Operation:=xlNone, SkipBlanks:=False, Transpose:=True
    Application.CutCopyMode = False
Next i
End Sub


Se invece vuoi procedere per 250 colonne su N righe, allora potresti usare
Codice: Seleziona tutto
Sub TrascriviB1000()
'Blocchi di 250 colonne
'
For i = 0 To 999
    If i Mod 250 = 0 Then
        CRig = Sheets("Foglio2").Cells(Rows.Count, 2).End(xlUp).Row + 2
    End If
'    CRig = Int(i / 250) + 1
    UC2 = Worksheets("Foglio2").Cells(CRig, Columns.Count).End(xlToLeft).Column + 1
    Worksheets("Foglio1").Range("K11:K27").Copy
    Worksheets("Foglio2").Cells(CRig, UC2).PasteSpecial Paste:=xlPasteValues, _
         Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
Next i
End Sub

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per copiare stesso range in colonne progressive

Postdi lisaxx89 » 14/01/14 11:19

Anthony eh hai ragione ma non c'ho pensato. Non mi sono mai ritrovata a dover copiare tante colonne. La mia versione è 2007. Cmq non posso farlo per riga perché io sto simulando dei tassi e ogni riga rappresenta il tasso in un istante di tempo differente. Dopo provo l'altro codice che mi hai scritto e vedo come va..
GRAZIE!!!!! :)
lisaxx89
Newbie
 
Post: 5
Iscritto il: 12/01/14 18:56

Re: Macro per copiare stesso range in colonne progressive

Postdi lisaxx89 » 14/01/14 12:55

PERFETTO!! :) grazie mille di nuovo!!
lisaxx89
Newbie
 
Post: 5
Iscritto il: 12/01/14 18:56

Re: Macro per copiare stesso range in colonne progressive

Postdi Anthony47 » 14/01/14 23:48

Bene...
Pero' c' e' qualcosa che non mi torna, perche' XL2007 ha gia' 16mila colonne.
:?: :?:
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Macro per copiare stesso range in colonne progressive":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti