Ho realizzato questa macro, funziona bene.E segue un calendario perpetuo.
Volevo gentilmente chiedervi se fosse possibile semplificare l'istruzione
per alcune giornate.Infatti il lavoro è simile e quindi inserendo nella
macro questa istruzione a=b=c=X la macro non va, e sono costretto
ad elencare nonstante sia uguale il lavoro da realizzare tutta la settimana
Quindi cerco una forma corretta fare per quei giorni???? Grazie
Sub GiornataDiLavoro()
'Prima Giornata
Sheets("Foglio1").Select
Application.ScreenUpdating = False 'serve per evitare i saltellamenti a schermo
Dim CEL As Object 'dichiariamo CEL come "Oggetto"
Set zona = Range("B10") 'campo entro cui ricercare la giornata
'assegnazioni delle variabili in questo caso le giornate
a = "lun" '
b = "mar" '
c = "mer" '
D = "gio" '
e = "ven" '
f = "sab" '
g = "dom" '
'a=b=c=X 'qui inserivo l'istruzione e sostituivo If CEL=X Then ma non va
For Each CEL In zona 'per ogni CEL( Oggetto cella) nel Range "zona"
If CEL = a Then 'Lunedì
Range("BC10:BI12").Select 'si selezionano l'intervallo da copiare
Selection.Copy 'si copia in memoria la selezione
Range("D10").Select 'la selezioniamo ed incolliamo ciò che è stato copiato
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ElseIf CEL.value = b Then 'Martedì
Range("BC10:BI12").Select 'si selezionano l'intervallo da copiare
Selection.Copy 'si copia in memoria la selezione
Range("D10").Select 'la selezioniamo ed incolliamo ciò che è stato copiato
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ElseIf CEL.value = f Then 'Sabato
Range("BC10:BI12").Select 'si selezionano l'intervallo da copiare
Selection.Copy 'si copia in memoria la selezione
Range("D10").Select 'la selezioniamo ed incolliamo ciò che è stato copiato
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
CEL.Font.ColorIndex = 21
ElseIf CEL.value = g Then 'Domenica
Range("BC13:BI13").Select 'si selezionano tutte le celle della stessa riga che
'vanno dalla CEL attiva, cioè A1 fino alla cella dodicesima AB1
Selection.Copy 'si copia in memoria la selezione
Range("D13").Select 'la selezioniamo ed incolliamo ciò che è stato copiato
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
CEL.Font.ColorIndex = 3
End If
Next 'e si continua il ciclo sulla cella successiva fino alla fine di "zona"
Application.CutCopyMode = False 'elimina il tratteggio intorno alle celle copiate
'Application.Run "GiornataDiLavoro2"