Descricao: |
Saberexcel - o Site das Macros Essas macros do Aplicativo Microsoft Excel VBA, exibe um calendário permantente e insere a data do mês a partir de fórmulas matriciais. Observem que as fórmulas foram capturadas com GM(Gravador de macros) por isso que insisto para quem esta aprendendo a dominar bem esse conhecimento, aprender sobre o GM(Gravador de Macros), aprender a depurar uma macro é muito importante no aprendizado do desenvolvedor.
Sub insere_formula_matricial_dias_do_Mes() Dias_Semana Range("A7").Select 'Insere fórmulas matriciais (array) With Range(ActiveCell.Offset(2, 0), ActiveCell.Offset(7, 6)) 'Formula would be too long, so insert shorter formula and replace characters. .FormulaArray = "=IF(MONTH(DATE(y,m,1))<>MONTH(DATE(y,m,1)-(WEEKDAY(DATE(y,m,1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),"""",DATE(y,m,1)-(WEEKDAY(DATE(y,m,1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)" .Replace What:=",m,", Replacement:=",MONTH(" & ActiveCell.Address(False, False) & ")," .Replace What:="y,", Replacement:="YEAR(" & ActiveCell.Address(False, False) & ")," '.NumberFormat = "d" '.HorizontalAlignment = xlCenter '.Interior.ColorIndex = 36 End With
End Sub
Sub Dias_Semana() Range("A8").FormulaR1C1 = "Domingo" Range("B8").FormulaR1C1 = "Segunda" Range("C8").FormulaR1C1 = "Terça" Range("D8").FormulaR1C1 = "Quarta" Range("E8").FormulaR1C1 = "Quinta" Range("F8").FormulaR1C1 = "Sexta" Range("G8").FormulaR1C1 = "Sábado" Range("B6").Select End Sub
Sub Limpar_Teste() Range("A4:H16").Select Selection.ClearContents Range("A7").Select End Sub
Sub Mostra_Oculta_Formulas() If Range("A9") = "" Then MsgBox ("tem que inserir as formulas") Exit Sub Else ActiveWindow.DisplayFormulas = Not ActiveWindow.DisplayFormulas End If End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA com Saberexcel
|