Arquivo da categoria: Microsoft Office

Dicas sobre aplicativos Microsoft Office em geral

Excel – 3 recursos poderosos que vão melhorar sua produtividade

O Excel é uma ferramenta poderosa utilizada por milhões de pessoas ao redor do mundo. Apesar de sua popularidade, muitas pessoas ainda usam o Excel apenas para cálculos básicos e entrada de dados. Neste artigo, mostraremos três truques legais do Excel que ajudarão você a levar suas habilidades de planilha para o próximo nível.

Congelar painéis

Você já se pegou rolando uma planilha grande e esquecendo qual coluna representa qual dado? Se sim, a opção Congelar Painéis no Excel pode ser sua melhor amiga. Essa opção permite que você congele certas linhas ou colunas enquanto você rola pelo restante da planilha. Para fazer isso, selecione a linha ou coluna que você deseja congelar, vá para a guia Exibir e clique em Congelar Painéis. Isso manterá a linha ou coluna selecionada à vista, não importa o quão longe você role.

AutoSoma

Se você estiver trabalhando com um conjunto de dados grande e precisar somar rapidamente uma coluna ou linha de números, a opção AutoSoma pode economizar muito tempo. Basta selecionar a célula onde você deseja que a soma apareça, clicar no botão AutoSoma e o Excel somará automaticamente todos os números na coluna ou linha selecionada. Você também pode usar essa opção para encontrar a média, a contagem e outros cálculos básicos.

Formatação condicional

Se você quiser tornar sua planilha mais visualmente atraente e fácil de ler, a Formatação Condicional pode ajudar. Essa opção permite que você formate células com base em determinados critérios. Por exemplo, você pode destacar todas as células em uma coluna que contenham um determinado valor ou todas as células acima ou abaixo de um determinado número. Para usar essa opção, basta selecionar as células que deseja formatar, ir para a guia Início e clicar em Formatação Condicional. A partir daí, você pode escolher entre uma variedade de opções de formatação para destacar seus dados.

Concluindo, o Excel é uma ferramenta poderosa que pode fazer muito mais do que cálculos básicos e entrada de dados. Usando esses três truques legais do Excel, você pode economizar tempo, tornar suas planilhas mais visualmente atraentes e levar suas habilidades de planilha para o próximo nível.

SeleniumBasic – Erro de automação

O problema

Imagine a seguinte cena:

Você desenvolve o projeto para seu cliente usando o Selenium VBA como biblioteca, tudo funciona perfeitamente, em todos os navegadores, drivers, etc. Todos os testes passam maravilhosamente.

Então você envia o arquivo junto com todas as instruções de instalação. Mas, quando o cliente executa seu arquivo, o seguinte erro é apresentado:

A solução

Instale o .NET Framework 3.5 no computador. Você pode fazer o download dele aqui:

https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10

Após instalado, execute o aplicativo novamente.

A explicação

Apesar de rodar no contexto do VBA, que é aplicativo nativo do Windows, o SeleniumBasic é desenvolvido sob o .NET Framework, especificamente a versão 3.5, o que faz sua execução ser dependente dele.

Não adianta ter somente o .NET Framework 2.0 ou 4.0. Eles são independentes e precisam ser instalados separadamente.

Finalmente

Nada mais a declarar. Bom código a todos!

SuperDicas – Usando as Fórmulas Matriciais

Originalmente publicado neste endereço: http://www.superdicas.com.br/excel/excel21.asp

Explico o motivo da replicação no fim do artigo.

O Que é uma Fórmula Matricial

No Excel uma fórmula matricial executa cálculos múltiplos e, em seguida, produz um resultado único, ou resultados múltiplos. Fórmulas matriciais agem sobre um ou mais conjuntos de valores, que são conhecidos como argumentos de matriz. Cada argumento de matriz deve ser retangular e cada argumento precisa ter o mesmo número de linhas e/ou o mesmo número de colunas que os outros argumentos.

Para produzir resultados múltiplos, a fórmula deve ser inserida em células múltiplas.

No Excel para se inserir uma fórmula matricial, deve-se pressionar as teclas [CTRL]+[SHIFT]+[ENTER] simultaneamente. O Excel coloca fórmulas matriciais entre chaves { e }.
Atentar para que essas chaves NUNCA sejam digitadas, pois assim não funcionará.

Recurso Pouco Utilizado

Além de pouco utilizado, por parecer muito complexo, é um recurso que quase ninguém conhece. Para facilitar a compreensão daremos abaixo dois exemplos de sua utilização prática. O primeiro exemplo ilustra a utilização da fórmula matricial como auxiliar na contagem de repetições de números. O segundo exemplo ilustra a utilização da mesma na elaboração de uma lista de repetições de nomes. Para facilitar, ainda mais, disponibilizamos uma planilha com estes exemplos, completos, e que você pode baixar para checar e adaptar às suas necessidades. O link para o download está no final desta página.

Exemplo 1: Contando o Número de Repetições numa Faixa de Células

Imaginemos que exista uma faixa de células onde são guardados diversos números, números esses que podem, ou não, se repetir dentro da faixa de entrada dos dados. Queremos ter a condição de saber quantas vezes um determinado número aparece dentro da faixa de entrada.

Cenário:

Nas células de A3 até A15 são colocados os números, que podem ter, ou não, repetições. Na célula B3 se digita um número – aquele que se quer conhecer o número de vezes que aparece na faixa de dados. Finalmente o resultado – o número de vezes que um dado valor aparece na faixa de entrada dos dados – deve aparecer na célula C3.

Aplicando a Fórmula Matricial:

Com o cursor na célula C3, digita-se a seguinte fórmula:
=SOMA(SE(A3:A15=B3;1;0)) – só que ao invés de pressionar a tecla [ENTER], como se faz em todas as demais situações, para inserir uma fórmula matricial se pressionam, simultaneamente, as teclas [CTRL]+[SHIFT]+[ENTER].

O Excel irá representar a fórmula entre chaves, como mostrado abaixo:

{=SOMA(SE(A3:A15=B3;1;0))}

A B C
1

Demonstração de Fórmula Matriz # 1

2 Entradas Checa este Número No. De Repetições
3 10

10

3

4 12  Na célula acima digita-se o número que se deseja pesquisar as repetições Na célula acima aparece o número de repetições do valor digitado
5 10
6 15
7 16
8 15
9 15
10 12
11 10
12 19
13 18
14 18
15 17

Como Funciona:

O Excel, percebendo se tratar de uma fórmula matricial, passa por todas as células da faixa demarcada, comparando-as com o valor digitado na célula B3 – SE(A3:A15=B3). Quando uma das células contiver um número idêntico a fórmula retorna o valor 1, senão retorna o valor 0. Ao final da faixa ser totalmente checada o Excel totaliza os zeros e uns (através da função =SOMA) encontrados em cada comparação. Essa soma é exatamente igual ao número de vezes que tal número aparece na faixa de entrada.

Exemplo 2: Mostrando Nomes Repetidos Apenas Uma Única Vez

Imaginemos que exista uma faixa de células onde são guardados diversos nomes de visitantes de nosso estante de arte, por exemplo. Esses visitantes podem, ou não, retornar e assim podem se repetir dentro da faixa de entrada dos dados. Queremos ter condição de destacar, por exemplo na coluna ao lado apenas a primeira vez em que algum nome aparece dentro da faixa de entrada.

Cenário:

Nas células de A3 até A15 são colocados os nomes, que podem ter, ou não, repetições. Finalmente o resultado – uma coluna onde cada nome só apareça uma única vez – deve aparecer na célula C3.

Aplicando a Fórmula Matricial:

Com o cursor na célula B3, digita-se a seguinte fórmula:
=SE(SOMA(A3=$B$2:B2)*1)=0;A3;””) – só que ao invés de pressionar a tecla [ENTER], como se faz em todas as demais situações, para inserir uma fórmula matricial se pressionam, simultaneamente, as teclas [CTRL]+[SHIFT]+[ENTER].
O Excel irá representar a fórmula entre chaves, como mostrado abaixo:

{=SE(SOMA(A3=$B$2:B2)*1)=0;A3;””)}

Em seguida deve-se copiar a fórmula em B3 para o restante da faixa, no caso entre B4 e B15.

A B
1

Demonstração de
Fórmula Matriz # 2

2 Visitantes Visitantes Únicos
3 André André
4 Colombina Colombina
5 Matilde Matilde
6 Alfredo Alfredo
7 Antonio Antonio
8 Matilde
9 Colombina
10 André
11 Sérgio Sérgio
12 Matilde
13 André
14 Célia Célia
15 Antonio

Como Funciona:

O Excel, percebendo se tratar de uma fórmula matricial, passa por todas as células da faixa demarcada, comparando o valor em A3 com todos os valores já definidos pela fórmula desde a posição B2 até a célula da coluna B na linha atual (B2 está vazia naturalmente, ou contém apenas um título, que não representa um nome). Quando uma das células  da coluna A contiver um novo nome a fórmula retorna o valor 1, ou 2 ou de quantas vezes se repetiu essa nome até esse momento, se ele não apareceu nenhuma vez (o valor é 0) a fórmula SE dá resultado verdadeiro e o Excel coloca o nome encontrado na mesma linha na coluna A, senão (o resultado de SE é falso) o Excel apenas coloca um valor vazio (“”) na célula.

Experimente um pouco mais com este recurso pouco explorado, mas muito útil em diversos momentos de nosso trabalho com números e/ou nomes.

Declaração

Este post é uma homenagem.

Além de ser um recurso acima do média, fórmulas matriciais são um mistério para a maioria dos usuários de Excel, mesmo depois de anos de seu lançamento. No momento da publicação deste artigo, blogs, mídias sociais, canais de vídeos de todo tipo e até cursos são dados aos montes.

No entanto, anos atrás quando a internet eram blogs e geocities, raros eram os bons conteúdos publicados. Este em específico, era minha salva guarda, já que era um dos poucos que conseguiu explicar de maneira sucinta algo que level anos para entender, e gostaria de dividí-lo aqui, com vocês.

Repito, esta é uma homenagem, já que o site que hospedava a página não está mais no ar no link original ou em outro que pareça ser de mesma autoria. Se o autor do artigo se sentir de alguma forma lesado com a publicação deste, por favor, entre em contato para a devida remoção.

Selenium – Como esperar até um elemento estar presente na página

AVISO: Este artigo é um bonus para a comunidade, já que é parte de um curso que está em desenvolvimento (com algumas adaptações). Fiquem ligados para mais novidades sobre.

Se você faz parte do time que brinca com Selenium a algum tempo, já se deparou com a situação acima. Existem algumas formas de fazê-lo utilizando as próprias funções. Abaixo demonstro a maneira que melhor me serviu para tal propósito.

A Função IsElementPresent

Ela é parte do objeto WebDriver. O uso chega a ser ridiculamente simples. Se o elemento está presente, retorna True, do contrário, False. O problema é que o parâmetro que ele pede é um objeto do tipo By:

Ok, vamos precisar então saber quem é esse carinha.

O Objeto By

Se você teve a chance de olhar o código fonte do SeleniumBasic (e você deveria), verá que o By está em todo lugar. Como o fonte é em C#, seu uso é mais natural, mas em VBA, é um pouco mais chato, mas não impossível.

Nada melhor do que ver funcionando, certo?

Considere os códigos abaixos:

HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>
      Selenium - Como esperar até um elemento estar presente na página
    </title>
    <script>
      function disparaContador() {
        setTimeout(function() {
          var novaDiv = document.createElement("div");
          novaDiv.style.display = "block";
          novaDiv.id = "escondido";
          novaDiv.innerHTML = "<h2>Ta dá!</h2>";
          document.body.appendChild(novaDiv);
        }, 3000);
      }
    </script>
  </head>
  <body>
    <h1>Selenium - Como esperar até um elemento estar presente na página</h1>
    <p>
      O elemento abaixo aparecerá após 3 segundos do botão abaixo ter sido
      clicado
    </p>
    <button id="disparaContador" onclick="disparaContador()">Vai</button>
  </body>
</html>

VBA:

'@Folder("VBAProject")
Dim driver As WebDriver
 
Sub EsperaPorElemento()
    Dim por As New By
 
    Set driver = New IEDriver
    Call driver.SetCapability("ignoreZoomSetting", True)
    driver.Get Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "") & "index.html"
    driver.FindElementById("disparaContador").Click
 
    While driver.IsElementPresent(por.ID("escondido"))
        'espera por um segundo
        'o uso do Application.Wait serve para não congelar a execução do VBA
        Application.Wait Now + TimeValue("00:00:01")
    Wend
    'neste ponto, o elemento já deve estar presente
    MsgBox driver.FindElementById("escondido").Text
End Sub

Em resumo, a página HTML tem um código que cria dinamicamente uma div 3 segundos após clicar no botão. Ou seja, o elemento não está lá quando a página é carregada, o que valida o código.

O código faz uso do IsElementePresent e do By para “esperar” o elemento estar presente na página.

Os mais atentos devem ter percebido que o By vai muito além do ID, tendo as opções de identificar o elemento através do TagName, ClassName, XPath, etc.

Baixe o código e execute.

ALERTA:
Não nomeia a variável do tipo By como by ou By. O VBA se perde todo e fica difícil entender o que está acontecendo. Por isso nomeiei como “por”, que seria uma tradução direta para o português.

Todo o código fonte está disponível aqui:

https://github.com/Tomamais/SeleniumCom … toNaPagina