Rispondo alla domanda "come fare": Invece che
x.Value = Application.Proper(x.Value) prova a usare
- Codice: Seleziona tutto
x.Value = Application.Proper(Format(x.Value, "dddd dd/mm/yyyy"))
Tieni presente che così facendo la cella perde in contenuto "Data" che viene commutato in Stringa; quindi
SEI SICURO che e' quello che ti serve?
Quanto alla seconda domanda, potrebbe quindi (per quanto detto sopra) essere ALQUANTO PERICOLOSO FARLO AUTOMATICAMENTE su tutte le date del foglio, ma se vuoi dovrebbe essere possibile tramite ad esempio questo snippet:
- Codice: Seleziona tutto
Dim myC As Range
For Each myC In ActiveSheet.UsedRange
If IsDate(myC.Value) Then
myC.Value = Application.Proper(Format(X.Value, "dddd dd/mm/yyyy"))
End If
Next myC
Prova solo dopo aver meditato bene...