Agradeço pelas ajudas.
Eu ainda não conheço muito de programação de excel. trablhar com array eu ainda não consegui compreender como fazer, pois pego diversas planilhas com muitas linhas e colunas e em diferentes formatos e, para transporta-los para dentro do array me complico todo.
Quanto a modificar meu código não sei se iria conseguir muito pensar em como, pois como disse, sou leigo ainda em programação. Mas segue um deles:
Sub Controlegiratório11_Alteração()
Application.ScreenUpdating = False
Dim mes As String
Select Case Range("I70").Value
Case 1
Range("J70").Value = CStr("Janeiro")
Range("L72").Value = Format(Range("E59").Value / 12, "0.00%")
Range("K72").Value = Format(Range("D59").Value / 12, "0.00%")
Case 2
Range("J70").Value = CStr("Fevereiro")
Range("L72").Value = Format(Range("E59").Value / 6, "0.00%")
Range("K72").Value = Format(Range("D59").Value / 6, "0.00%")
Case 3
Range("J70").Value = CStr("Março")
Range("L72").Value = Format(Range("E59").Value / 4, "0.00%")
Range("K72").Value = Format(Range("D59").Value / 4, "0.00%")
Case 4
Range("J70").Value = CStr("Abril")
Range("L72").Value = Format(Range("E59").Value / 3, "0.00%")
Range("K72").Value = Format(Range("D59").Value / 3, "0.00%")
Case 5
Range("J70").Value = CStr("Maio")
Range("L72").Value = Format((Range("E59").Value / 12) * 5, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 5, "0.00%")
Case 6
Range("J70").Value = CStr("Junho")
Range("L72").Value = Format(Range("E59").Value / 2, "0.00%")
Range("K72").Value = Format(Range("D59").Value / 2, "0.00%")
Case 7
Range("J70").Value = CStr("Julho")
Range("L72").Value = Format((Range("E59").Value / 12) * 7, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 7, "0.00%")
Case 8
Range("J70").Value = CStr("Agosto")
Range("L72").Value = Format((Range("E59").Value / 12) * 8, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 8, "0.00%")
Case 9
Range("J70").Value = CStr("Setembro")
Range("L72").Value = Format((Range("E59").Value / 12) * 9, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 9, "0.00%")
Case 10
Range("J70").Value = CStr("Outubro")
Range("L72").Value = Format((Range("E59").Value / 12) * 10, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 10, "0.00%")
Case 11
Range("J70").Value = CStr("Novembro")
Range("L72").Value = Format((Range("E59").Value / 12) * 11, "0.00%")
Range("K72").Value = Format((Range("D59").Value / 12) * 11, "0.00%")
Case 12
Range("J70").Value = CStr("Dezembro")
Range("L72").Value = Format(Range("E59").Value, "0.00%")
Range("K72").Value = Format(Range("D59").Value, "0.00%")
End Select
Application.ScreenUpdating = True
End Sub
No caso deste código, eu tenho valores que são calculados em várias tabelas com formulas e este calculo no meu código já é a forma final como deve ficar ao ser acionado um botão que inseri para rolagem automática.
Postado : 19/03/2015 11:17 am