Condividi:        

ripetere una macro per tutti i fogli

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

ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 12:19

ciao a tutti
Sono giuseppe e come potete immagginare ho un problema :(
ho creato questa macro

Codice: Seleziona tutto
Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets("Template").Select
    Range("C10:G10").Select
    ActiveCell.FormulaR1C1 = "='450110'!R[-8]C[-2]"
    Range("C10:G10").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("450110").Select
    Columns("A:A").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Cells.Select
    Cells.EntireColumn.AutoFit
    Columns("F:F").Select
    Selection.Insert Shift:=xlToRight
    Range("A2:A3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("A2:I9").Select
    With Selection.Font
        .Name = "Verdana"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    With Selection.Font
        .Name = "Verdana"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Range("A2:I9").Select
    Selection.Copy
    Sheets("Template").Select
    Range("B17").Select
    Selection.Insert Shift:=xlDown
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("450110").Select
    Range("A1").Select
    ActiveSheet.Paste
    Sheets("Template").Select
    Range("B17").Select
    Application.CutCopyMode = False
    Range("B19:J25").Select
    Selection.Delete Shift:=xlUp
    Range("B17:J18").Select
    Selection.ClearContents
End Sub



avrei bisogno del vostro aiuto avrei bisogno che venga ripetuta per tutti i fogli sono circa 80
come posso fare?

grazie mille
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14

Sponsor
 

Re: ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 13:03

Scusate la macro che ho registrato e questa
e vorrei si ripetesse per piu fogli


Codice: Seleziona tutto
Sub Macro1()
'
' Macro1 Macro
'

'
    Range("B2:B3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("B2:J9").Select
    With Selection.Font
        .Name = "Verdana"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    With Selection.Font
        .Name = "Verdana"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Copy
    Sheets("Template").Select
    Range("B17").Select
    Selection.Insert Shift:=xlDown
    Range("C10:G10").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "='450110'!R[-8]C[-2]"
    Range("C10:G10").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("450110").Select
    Range("A1").Select
    ActiveSheet.Paste
    Sheets("Template").Select
    Application.CutCopyMode = False
    Range("B19:B20").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("B19:J24").Select
    Selection.Delete Shift:=xlUp
    Range("B17:J18").Select
    Selection.ClearContents
End Sub
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14

Re: ripetere una macro per tutti i fogli

Postdi Flash30005 » 25/01/13 13:42

All'inizio macro (riporto solo alcuni tuoi passi) inserisci questo codice

Codice: Seleziona tutto
' Macro1 Macro  '<<< rige esistente
'
For F = 1 To Worksheets.Count
If Sheets(F).Name <> "PAPERINO"  and Sheets(F).Name <> "PIPPO"  And Sheets(F).Name <> "TOPOLINO" Then  '<<<<< qui elenca dolo i fogli che NON vuoi siano processati
Sheets(F).select
'
Range("B2:B3").Select  '<<<< riga esistente
'... resto della macro


Alla fine della macro inserisci questo codice codice

Codice: Seleziona tutto
'... codice esistente macro
Selection.ClearContents  '<<< riga esistente
End If  '<<<< aggiungere qui
Next F '<<<< aggiungere qui
End Sub  '<<<< riga esistente fine macro


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 13:59

grazie mille flash
sei gentilissimo
ma scusa la mia incompetenza qui

If Sheets(F).Name <> "PAPERINO" and Sheets(F).Name <> "PIPPO" And Sheets(F).Name <> "TOPOLINO" Then '<<<<< qui elenca solo i fogli che NON vuoi siano processati

a posto di paperino pippo e topolino che metto?
e qui

End If '<<<< aggiungere qui metto il nome dell'ultimo foglio?
Next F '<<<< aggiungere qui non so cosa

grazie e scusa sono proprio zeo
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14

Re: ripetere una macro per tutti i fogli

Postdi Anthony47 » 25/01/13 14:14

Quella istruzione elenca i fogli che non vorresti processare; metterai quindi i nomi corretti dei fogli che non vuoi processare.
Pero' io direi che per risponderti bene dovresti dire se devi eseguire la macro su tutti i fogli del tuo file, su tutti meno alcuni (la gran parte), su alcuni (pochi).

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

Re: ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 14:24

Ciao antony

grazie di tutto
ho messo qui il file
http://wikisend.com/download/840516/leene.xlsm
ho la prima macro che mi divide l'elenco in piu fogli e quella funziona

poi come vedi c'e quella che ho registrato io
che parte dal foglio 450110 ora io vorrei che quella che ho registrato io funzionasse su tutti i fogli che mi da la prima macro
che possono essere pure 80 io ne ho messo 2 per semplicita

spero di essere stato chiaro

grazie ancora
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14

Re: ripetere una macro per tutti i fogli

Postdi Anthony47 » 25/01/13 14:27

Cioe' per capire la tua domanda dovrei andare a capire cosa fa l' altra macro??
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 14:33

la prima macro mi divide l'elenco in piu fogli
la seconda dovrebbe operare sui fogli divisi dalla prima
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14

Re: ripetere una macro per tutti i fogli

Postdi el perro » 25/01/13 14:34

non fa niente lascia stare grazie lo stesso
el perro
Newbie
 
Post: 6
Iscritto il: 25/01/13 12:14


Torna a Applicazioni Office Windows


Topic correlati a "ripetere una macro per tutti i fogli":


Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti