Saberexcel - o site das macros
Essas macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), insere um calendário na folha de planiha, voce poderá testar os macros separadamente para ver o resultado, por exemplo o macro borda_1, insere as bordas nas células nos 12 meses do ano.
observe que há uma fórmula em FC(Formatação condicional) que formata os dias Sabados e Domingos (7º.dia e 1º dia), talvez possa lhe útil.
Fique com Deus - E_Marcondes
Sub borda_1()
Dim i As Integer
Dim J As Integer
Application.ScreenUpdating = False
For i = 5 To 35
For J = 2 To 35 Step 3
With Range(Cells(i, J), Cells(i, J + 1))
.Select
.BorderAround LineStyle:=xlContinuous, ColorIndex:=1
If Weekday(Cells(i, J)) = 1 Then
With .Borders(xlEdgeBottom)
.ColorIndex = 3
.Weight = xlMedium
End With
End If
End With
Next J
Next i
md_formatando_datas
md_meses_str
md_formula_datam
md_insere_dias
sb_meses
sb_semana
Cells.Font.Size = 8
End Sub
Sub limpar_formatos()
[sbmes].ClearContents
[A4:AI39].ClearContents
End Sub
Sub md_meses_str()
[B4].Value = "JANEIRO"
[E4].Value = "FEVEREIRO"
[H4].Value = "MARÇO"
[K4].Value = "ABRIL"
[N4].Value = "MAIO"
[Q4].Value = "JUNHO"
[T4].Value = "JULHO"
[W4].Value = "AGOSTO"
[Z4].Value = "SETEMBRO"
[AC4].Value = "OUTUBRO"
[AF4].Value = "NOVEMBRO"
[AI4].Value = "DEZEMBRO"
End Sub
Sub md_formula_datam()
[B5].FormulaR1C1 = "=EDATE(R1C1,0)"
[E5].FormulaR1C1 = "=EDATE(R1C1,RC[-4])"
[H5].FormulaR1C1 = "=EDATE(R1C1,R[1]C[-7])"
[K5].FormulaR1C1 = "=EDATE(R1C1,R[2]C[-10])"
[N5].FormulaR1C1 = "=EDATE(R1C1,R[3]C[-13])"
[Q5].FormulaR1C1 = "=EDATE(R1C1,R[4]C[-16])"
[T5].FormulaR1C1 = "=EDATE(R1C1,R[5]C[-19])"
[Z5].FormulaR1C1 = "=EDATE(R1C1,R[7]C[-25])"
[W5].FormulaR1C1 = "=EDATE(R1C1,R[6]C[-22])"
[AC5].FormulaR1C1 = "=EDATE(R1C1,R[8]C[-28])"
[AF5].FormulaR1C1 = "=EDATE(R1C1,R[9]C[-31])"
[AI5].FormulaR1C1 = "=EDATE(R1C1,R[10]C[-34])"
[A2].Select
End Sub
Sub md_formatando_datas()
[A1,B5,E5,H5,K5,N5,Q5,T5,W5,Z5,AC5,AF5,AI5].NumberFormat = "m/d/yyyy"
End Sub
'inserí este contador com intuíto didático, insere os dias na coluna(A), 1,2,3,4,.....31
Sub md_insere_dias()
Dim i As Integer
[A5].Select
i = 0
For i = 1 To 31
ActiveCell.Offset(i - 1, 0).Value = i
Next i
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application) com os produtos didáticos Saberexcel
Baixe o exemplo de planilha contendo os macros acima
Excel vba calendario bordas formatacao dias (39.09 KB)