Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador Tricks. Mostrar todas as postagens
Mostrando postagens com marcador Tricks. Mostrar todas as postagens

Truques VBA Raramente Usados - Protect Workbook

Truques VBA Raramente Usados - Protect Workbook




Em muitas ocasiões desejaremos manter nossas planilhas protegidas após inserções, atualizações ou mesmo troca de versão. O que segue abaixo é o modo de mantê-las protegidas entre estes momentos.

Sub PWorkbook()
Dim pwd1 As String, ShtName As String
pwd1 = InputBox("Please Enter the password")
If pwd1 = "" Then Exit Sub
ShtName = "Workbook as a whole"
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:=pwd1
MsgBox "The workbook's structure has been protected."
Exit Sub
ErrorOccured:
MsgBox "Workbook could not be Protected"
Exit Sub
End Sub
On Error GoTo ErrorOccured

Sub UnPWorkbook()
On Error GoTo ErrorOccured
Dim pwd1 As String, ShtName As String
pwd1 = InputBox("Please Enter the password")
If pwd1 = "" Then Exit Sub
ShtName = "Workbook as a whole"
ActiveWorkbook.Unprotect Password:=pwd1
MsgBox "The workbook's structure has been Unprotected."
Exit Sub
ErrorOccured:
MsgBox "Workbook could not be UnProtected - Password Incorrect"
Exit Sub     
End Sub



brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

Truques VBA Raramente Usados - Como Logar-se em sites HTTPS Usando VBA Excel

Truques VBA Raramente Usados - Como Logar-se em sites HTTPS Usando VBA Excel


Atualize seu código que precisa logar-se em páginas HTTPS.

Automatize a conexão nos sites que precisa informar login e senha.

     Set ie = CreateObject("InternetExplorer.Application.1")
            ie.Visible = True
            ie.navigate cURL
              
             Application.Wait (Now + TimeValue("0:00:10"))
            If ie.readyState = READYSTATE_LOADING Then
          
              Set objShellWindows = New ShellWindows

            Application.SendKeys "abcd"
            Application.SendKeys "{TAB}"
            Application.SendKeys "pwd123"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{RETURN}"
           
            End If
             
        'Do While ie.Busy: DoEvents: Loop

          Set doc = ie.Document

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

Truques VBA Raramente Usados - Utilizando as mesmas variáveis

Truques VBA Raramente Usados - Utilizando as mesmas variáveis


Utilize as mesmas variáveis ​​nos códigos do seu módulo.

Na maioria das vezes usamos diferentes nomes de variáveis ao declará-las ​​dentro de um código, ao longo de todo o módulo. Quando fazemos isso, na verdade, não é muito bom para o nosso código. Mas sabia que pode criar variáveis ​​que funcionem em todas os blocos de códigos dentro do mesmo módulo?

Utilize as instruções de declaração Dim na parte superior do módulo. E isto lhe permitirá expandir o escopo de suas variáveis a qualquer momento, deixando o MS Excel ciente de que estas são boas para todos os código disponíveis em nosso módulo.


Abaixo segue um exemplo simples, onde variáveis genéricas (Exp1) são usadas em ambas as macros como um recipiente para valores de célula.


brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

Truques VBA Raramente Usados - Exibindo Mensagens na Barra de Status

Truques VBA Raramente Usados - Exibindo Mensagens na Barra de Status


Quando implementar um script VBA muito longo, use a Barra de Status do Excel para exibir o texto que descreve o progresso do código. Para fazer isso, escreva algum código que execute periodicamente outro código, tal como demonstrado abaixo:

tmp177-6

Este procedimento utiliza um argumento: um valor que varia de 0 a 1,0. O código simplesmente exibe uma mensagem que indica o percentual concluído. Para retornar a Barra de Status do Excel de volta ao normal, execute a seguinte instrução:
tmp177-7

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

Truques VBA Raramente Usados - Não Seja Pego no Loop

Truques VBA Raramente Usados - Não Seja Pego no Loop



Sei que pode parecer redundância, mas pense sempre fora da caixa. Mesmo que, para isso, precise abrir mão de usar o VBA. Nós programadores precisamos utilizar as melhores soluções entre os 2 mundos e isso, às vezes, na verdade muitas vezes, significará utilizarmos aquilo que já existe pronto no próprio MS Excel.

Não seja pego na Loop: 

Francamente, tento correr de usar Loops. Geralmente são demasiadamente lentoooosss!

Um erro comum que todos cometemos ao aprender VBA é o de usar Loops quando realmente não são necessários. Observe este exemplo simples logo abaixo, onde a proposta é colocarmos a palavra vazio escrita em cada célula que estiver em branco.

Sub EahhWrongWay ()
Dim Bcell Como Gama

Para Cada Bcell Em Range ("A1: D500")

Se IsEmpty (Bcell) Então Bcell = "vazio"

Próximo Bcell
End Sub

Agora compare com o código abaixo:

Sub OhhEahhRightWay ()
Range ( "A1: D500"). SpecialCells (xlCellTypeBlanks) = "vazio"
End Sub


Muito Melhor!

Este código não somente é melhor como muito mais fácil de escrever e muito mais rápido. 

Da próxima vez que precisar de algo assim, não se apresse com um Loop. Dê um passo para atrás e pense seriamente em utilizar as funções construídas em C# dentro do próprio MS Excel. Algumas das minhas favoritas são: SpecialCellsAutoFilterFindAdvancedFilter e Subtotals, para citar apenas algumas. Quando começar a usá-las, sempre pensará duas vezes antes de usar de qualquer jeito um loop


Posso prometer-lhe que utilizar estes recursos quase sempre significará ter sua solução sendo executada pelo menos 100 vezes mais rápida do que num Loop! 


brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine