Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Salve a tutti,
Ho delle colonne ognuna delle quali elenca delle date con intervalli diversi; ad esempio la prima colonna presenta un intervallo di 50 giorni, la seconda di 20 e così via.
Vorrei sapere se esiste un comando per formattare, ad esempio nel caso della prima colonna, ogni 100 giorni, cioè ogni due celle.
Una soluzione che contenga il criterio dei giorni sarebbe preferibile, ma dato che sono abbastanza inguaiato si accetta di tutto. :)
Ringraziando anticipatamente
Un saluto
Paolo
Ciao Paolo,
dubito si possa risolvere con una formattazione condizionale, prova piuttosto con la seguente macro.
Andrea.
Sub formattaDate()
Dim rColumn, rCell As Range
Dim lDays As Long
Dim dtTarget As Date
On Error Resume Next
Set rColumn = Application.InputBox("Seleziona la colonna da formattare", "Formattazione date", , , , , , 8)
If rColumn Is Nothing Then Exit Sub
If rColumn.Columns.Count > 1 Then
Call MsgBox("E possibile selezionare solo una colonna", vbInformation, "Formattazione date")
Exit Sub
End If
Set rColumn = rColumn.Resize(Cells(Rows.Count, rColumn.Column).End(xlUp).Row)
lDays = Application.InputBox("Intervallo formattazione in giorni", "Formattazione date", 100)
If lDays < 1 Then
Call MsgBox("Valore non ammesso", vbInformation, "Formattazione date")
Exit Sub
End If
For Each rCell In rColumn
If IsDate(rCell.Value) Then
If dtTarget = 0 Then dtTarget = rCell.Value
If rCell.Value >= dtTarget + lDays Then
dtTarget = 0
rCell.Font.Color = vbRed
Else
rCell.Font.Color = vbBlack
End If
End If
Next
End Sub