Condividi:        

Avvio Macro

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

Re: Avvio Macro

Postdi Anthony47 » 15/02/17 01:53

Ragazzi, finalmente ci sono riuscitoooo!
Bravo, vedi che l'esigenza aguzza l'ingegno...

A me aveva funzionato col codice che ti ho suggerito.
Per copiare solo i valori e non il formato allora in Macro2 invece di
Range("F5:BA244").Copy Destination:=Range("B5")
avremmo dovuto usare
Codice: Seleziona tutto
    Range("F5:BA244").Copy                              '*****
    Range("B5").PasteSpecial xlPasteValues


Per tornare su foglio IMPIANTI, inserire la sua attivazione in coda alla Workbook_Open, subito prima di End Sub:
Codice: Seleziona tutto
Next Wk
Sheets("IMPIANTI").Select       '<<<+++
End Sub


Ciao

Edit: ho MODIFICATO la riga marcata ***** perche' avevo erroneamente lasciato la parte Destination:= etc etc che invece andava rimossa
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: Avvio Macro

Postdi Fabiolan » 15/02/17 14:23

Stasera apporterò le modifiche, Grazie :)
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 10:34

Antony47, se io volessi modificare il tuo codice per far si che la macro venga avviata ogni nuova settimana dell'anno e non ogni mese, come va modificato il codice?
ho provanto con Week al posto di Month ma non funziona..
Grazie per l'aiuto
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 11:01

Premetto che al momento utilizzo questo codice da Antony47 realizzato

Private Sub Workbook_Open()
If Month(ThisWorkbook.Sheets("Foglio3").Range("Z1")) <> Month(Now) Then
Call LaTuaMacroRegistrata
End If
End Sub
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi wallace&gromit » 24/02/17 14:17

Non so nulla di quanto discusso in precedenza, ma forse la soluzione a questo tuo ultimo quesito può essere quella di utilizzare il numero della settimana.
Qualcosa più o meno così
Codice: Seleziona tutto
... If WorksheetFunction.IsoWeekNum(ThisWorkbook.Sheets("Foglio3").Range("Z1")) <> WorksheetFunction.IsoWeekNum(Now) Then...
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 15:08

Anthony47 ha scritto:Ho seguito con pazienza il codice della Macro2 e mi pare che essa possa essere ridotta a
Codice: Seleziona tutto
Sub Macro2()
    Range("F5:BA244").Copy Destination:=Range("B5")
    Range("AX5:BA244").ClearContents
    Application.CutCopyMode = False
    ThisWorkbook.Sheets("IMPIANTI").Range("B4") = Now
End Sub

Avendo popolato un po' a caso i vari fogli mi pare che il comportamento ottenuto sia quello di shiftare verso sinistra tutte le attivita' di 4 settimane, che forse era l'obiettivo di Macro2.

Ciao


Anthony47, siccome ho dovuto apportare delle modifiche al file, adesso ho la necessità che il tutto venga scalato non più di 4 settimane alla volta, ma solo una settimana alla volta, quindi colonna per colonna..
ho realizzato una nuova macro registrandola, però è moooooolto lenta nell'agire su 73 fogli..siccome la tua è nettamente più veloce, mi chiedevo come fosse possibilie modificare il tuo codice..
adesso ho 52 colonne il cui intervallo è B5:BA80
Grazie
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 15:11

wallace&gromit ha scritto:Non so nulla di quanto discusso in precedenza, ma forse la soluzione a questo tuo ultimo quesito può essere quella di utilizzare il numero della settimana.
Qualcosa più o meno così
Codice: Seleziona tutto
... If WorksheetFunction.IsoWeekNum(ThisWorkbook.Sheets("Foglio3").Range("Z1")) <> WorksheetFunction.IsoWeekNum(Now) Then...


Va benissimo Grazie :)
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 15:35

wallace&gromit ha scritto:Non so nulla di quanto discusso in precedenza, ma forse la soluzione a questo tuo ultimo quesito può essere quella di utilizzare il numero della settimana.
Qualcosa più o meno così
Codice: Seleziona tutto
... If WorksheetFunction.IsoWeekNum(ThisWorkbook.Sheets("Foglio3").Range("Z1")) <> WorksheetFunction.IsoWeekNum(Now) Then...


Wallace perdonami, ho fatto altre prove ed ora esce errore: Proprietà o metodo non supportati dall'oggetto in corrispondenza dell' iF...come va modificato?
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi ricky53 » 24/02/17 15:48

Ciao,
che versione di Office utilizzi ... con il 2003 NON puoi utilizzare la funzione "IsoWeekNum".

Che errore run-time ottieni?
Il 438 ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 15:57

Si, errore 438 però è la versione 2010
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi ricky53 » 24/02/17 16:01

Ciao,
a me l'errore c'è anche con il 2010, con il 2016 no.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 16:02

e come posso modificarlo per la versione 2010?
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 16:24

Ho risolto per entrambi i problemi, grandi ragazzi!
Solo una cosa, al posto di IsoWeekNum ho inserito solo WeekNum: che sistema usa? la prima settimana è quella del 1 gennaio o quella del primo giovedi?
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi ricky53 » 24/02/17 16:39

Ciao,
BENE Bravo, hai risolto.
Quella funzione è stata introdotta con il 2007 ... forse.
L'unica è fare prove: partendo dal primo gennaio in avanti con un ciclo For/Next.

Comunque prova questa funzione che ha scritto il mitico SCOSSA:
Codice: Seleziona tutto
Public Function WeekOfYear(InDate As Date) As Variant
    WeekOfYear = DatePart("ww", InDate, vbMonday, vbFirstFourDays)
    If DatePart("w", InDate, vbMonday, vbFirstFourDays) = 1 And Day(InDate) > 28 And WeekOfYear = 53 Then
        WeekOfYear = 1
    End If
End Function


In VBA questa funzione va richiamata passandole come parametro una data.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Avvio Macro

Postdi Fabiolan » 24/02/17 17:07

ciao, in realtà sono riuscito a risolvere cosi e sembra funzionare:
Codice: Seleziona tutto
Private Sub Workbook_Open()


If WorksheetFunction.WeekNum(ThisWorkbook.Sheets("IMPIANTI").Range("B4"), 21) <> WorksheetFunction.WeekNum(Now, 21) Then
 Call Macro2

        End If
    Worksheets("IMPIANTI").Select
 

End Sub



ho letto che inserendo il numero 21 è come se ci fosse lo standard ISO. Sapete qualcosa a riguardo?
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Avvio Macro

Postdi wallace&gromit » 24/02/17 19:05

Ma alla fine a te non interessa se sia ISO o non ISO, l'importante è che sia la data di confronto sia quella odierna vengano valutate con lo stesso sistema in modo da capire se la settimana è cambiata o no.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Avvio Macro":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti