Aqui está um exemplo (para célula D1 ) .
Digamos que D1 tenha uma fórmula que exiba a hora:
equeremosapenasexibirosminutos.Coloqueaseguintemacrodeeventosnaáreadecódigodaplanilha:
PrivateSubWorksheet_Calculate()WithRange("D1")
v = Minute(.Value)
f = .NumberFormat
If InStr(.NumberFormat, ";;;") > 0 Then
ActiveWorkbook.DeleteNumberFormat NumberFormat:=f
End If
.NumberFormat = Chr(34) & v & Chr(34) & ";;;"
End With
End Sub
Semprequeaplanilhaécalculada,amacroajustaoformatodeD1pararefletirapenasosminutos.(ocódigotambémremoveosformatosnuméricospersonalizadosanterioresparaevitaroformatoeverflow)
Porserumcódigodeplanilha,émuitofácilinstalareusarautomaticamente:
- cliquecomobotãodireitodomousenonomedaguiapróximoàparteinferiordajaneladoExcel
- selecioneExibircódigo-issoabreumajaneladoVBE
- coleomaterialefecheajaneladoVBE
Sevocêtiveralgumadúvida,tenteprimeiroemumaplanilhadeteste.
Sevocêsalvarapastadetrabalho,amacroserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
Pararemoveramacro:
- abrirasjanelasdoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
Parasabermaissobremacrosemgeral,consulte:
link
e
link
Para saber mais sobre macros de eventos (código da planilha), consulte:
link
As macros devem estar ativadas para que isso funcione!