Sub StopCalculation()
Application.Calculation = xlCalculationManual
' Digite o seu código aqui.
Application.Calculation = xlCalculationAutomatic
End Sub
✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.
VBA Excel - Previna o recalculo durante a execução do seu código (Preventing Calculation).
Tornando a execução do seu código mais rápida por para a atualização da tela (Stop Screen Flickering)
Muitas vezes quando estamos manipulando inúmeras colunas, linhas e células, ficamos felizes por acompanhar os deslocamentos, agrupamentos e recálculos de tudo o que elaboramos. Isso acontece na primeira e segunda vez, depois torna-se extremamente irritantes visualizarmos a tela deslizando prá elá e prá cá na nossa frente enquanto a planilha demora infinitos minutos até finalizar a execução. Seus problemas acabaram. Basta que desligue a atualização da tela e sua planilha será atualiza somente uma vez, após ter processado tudo o que pediu que fosse processado. Divirta-se...
Sub StopFlickering() Application.ScreenUpdating=False ' Adicione o seu código. Application.ScreenUpdating=True End Sub
VBA Excel: Modo Calculation
Modo Calculation
Normalmente o MS Excel recalculará uma Célula ou um Range quando estes forem alterados. Às vezes essa atualização trás certos transtornos, fazendo com que a performance caia. Podemos prevenir que o MS Excel recalcule o workbook por usarmos o statement:.
Neste exemplo abaixo forçamos o recálculo para o modo manual:
Let Application.Calculation = xlCalculationManual
Também temos a possibilidade de mudar esse statement no final do nosso código:
Let Application.Calculation = xlCalculationAutomatic
VBA Excel: Importe dados a partir do MS Access para o MS Excel (Via DAO)
Então, o crossover entre Access e Excel continuam a persistir... Como posso importar os dados do Access para minhas planilhas Excel? Implementem o código abaixo... Sub DAOCopyFromRecordSet(DBFullName As String, TableName As String, FieldName As String, TargetRange As Range) ' Exemplo: DAOCopyFromRecordSet "C:\A&A_Folder\DataBase.mdb", "TableName", "FieldName", Range("C1") Dim db As Database, rs As Recordset Dim intColIndex As Integer Set TargetRange = TargetRange.Cells(1, 1) Set db = OpenDatabase(DBFullName) Set rs = db.OpenRecordset(TableName, dbOpenTable) ' Todos os registros. For intColIndex = 0 To rs.Fields.Count - 1 Let TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name Next ' Escreva no Recordset. TargetRange.Offset(1, 0).CopyFromRecordset rs Set rs = Nothing db.Close Set db = Nothing End Sub
VBA Access: Função Format (com Datas)
No MS Office Access, a função Format faz o tratamento de um conteúdo, retornando-o na expressão que desejarmos. A syntaxe para a função Format é: Format ( expressão, [ format, [ firstdayofweek, [primeirasemanadoano] ] ] ) Expressão é o valor a ser "formatado". Format é opcional, existem valores defaults para este, como observado abaixo: Format Explanação General Date Mostra a data formatada segundo a configuração do seu sistema. Long Date Mostra a data formatada segundo a configuração do seu sistema para 'Data longa'. Medium Date Mostra a data formatada segundo a configuração do seu sistema para 'Data média'. Short Date Mostra a data formatada segundo a configuração do seu sistema para 'Data curta'. Long Time Mostra a data formatada segundo a configuração do seu sistema para 'hora longa'. Medium Time Mostra a data formatada segundo a configuração do seu sistema para 'hora média'. Short Time Mostra a data formatada segundo a configuração do seu sistema para 'hora curta'. firstdayofweek é opcional, existem valores defaults para este, como observado abaixo: Constant Valor Explanação vbUseSystem 0 Usa a configuração da API NLS. vbFirstJan1 1 A semana que contém Janeiro 1. vbFirstFourDays 2 A primeira semana que tem 4 dias no ano. vbFirstFullWeek 3 A primeira semana cheia do ano. Por exemplo: Format (#17/04/2009#, "Short Date") Retornará '17/04/2004' Format (#17/04/2009#, "Long Date") Retornará 'Abril 17, 2004' Format (#17/04/2009#, "yyyy/mm/dd") Retornará '2004/04/17' Código VBA: A função Format pode ser utilizada no VBA com código: Dim LValue As String Let LValue = Format (Date, "dd/mm/yy") No exemplo acima a variável chamada LValue contém a data de hoje formatada como dd/mm/yy. Utilização direta na query: O mesmo pode ser utilizado nas nossas querys. E o resultado será algo como o demonstrado abaixo: Podemos definir as nossas próprias formas de formatação: