Condividi:        

Excel

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

Excel

Postdi Statix » 26/11/09 22:11

Ciao a tutti ,
ho un problema da risolvere,
ho una macro che deve fare 90 cicli di copia e incolla,
per la maggior parte mi servo del registratore di macro,
la macro in questione è questa ,è la vorrei ottimizzare .
esempio di 4 cicli.

Codice: Seleziona tutto
Sheets("Top Secret").Select
    Range("J1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "0"
     Range("AN2:AX2").Select
    Selection.Copy
    Sheets("Memo").Select
   
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
      Range("B2:L2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
       
    Sheets("Top Secret").Select
   
    Range("J1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1"
    Range("AN2:AX2").Select
    Selection.Copy
    Sheets("Memo").Select
    Range("B3:L3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Range("B2:L2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   
    Sheets("Top Secret").Select
   
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("I4").Select
   
   
    Range("AN2:AX2").Select
    Selection.Copy
    Sheets("Memo").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B2:L2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Top Secret").Select
   
   
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("I4").Select
   
    Range("AN2:AX2").Select
    Selection.Copy
    Sheets("Memo").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B2:L2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Top Secret").Select
   
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "4"
    Range("I4").Select
   
   
    Range("AN2:AX2").Select
    Selection.Copy
    Sheets("Memo").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B2:L2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Top Secret").Select
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Excel

Postdi Anthony47 » 26/11/09 22:32

Se non sbaglio hai un ciclo che ripeti con J1=0/1/2/3.
Di conseguenza puoi impostare un ciclo di questo tipo:
Codice: Seleziona tutto
For I=0 to 3
Sheets("Top Secret").Select
Range("J1").value = I
'le tue istruzioni di
'copia, cambia foglio, incolla speciale,
'shift in basso
Next I

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel

Postdi Statix » 26/11/09 22:39

Ciao Anthony47,
modificata e provata, la macro è ok.
imparato ancora un pezzettino,questa macro mi serviva da tempo .
grazie.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta


Torna a Applicazioni Office Windows


Topic correlati a "Excel":


Chi c’è in linea

Visitano il forum: danibi60 e 17 ospiti