Browse by Tags
All Tags »
Excel (
RSS)
Que o Excel é uma ferramenta excelente que aumenta a produtividade todos sabemos, mas quando conhecemos os atalhos dele, nos tornamos mais produtivos ainda, então aqui vão alguns: Fórmula Explicação CTRL + ( Para visualizar dados que não estão próximos, você pode usar a opção de ocultar células e colunas. Usando esse comando você fará com que as linhas correspondentes à seleção sejam ocultadas. Para que aquilo que você ocultou reapareça, selecione uma célula da linha anterior e uma da próxima e depois tecle CTRL + SHIFT + ( CTRL + ) Atalho igual ao anterior, mas oculta colunas e não linhas CTRL + SHIFT + $ Atalho para aplicar a conteúdos monetários o formato de moeda. Ele coloca o símbolo desejado (por exemplo, R$) no número, além de duas casas decimais CTRL + SHIFT + Asterisco (*) Para selecionar dados que estão em volta da célula atualmente ativa. Caso existam células vazias no meio dessas informações, elas também serão selecionadas CTRL + Sinal de adição (+) Para inserir células, linhas ou colunas no meio dos dados CTRL + Sinal de subtração (-) Para excluir células, linhas ou colunas inteiras CTRL + D Quando você precisar que todas as células de determinada coluna tenham o mesmo valor, use esse comando. Por exemplo: o número 2574 está na célula A1 e você quer que ele se repita até a linha 20. Selecione da célula A1 até a A20 e pressione o comando. Todas as células serão preenchidas com o mesmo número. CTRL + R Igual ao comando acima, mas para preenchimento de colunas. Caso deseje preencher uma matriz, basta executar este comando e o anterior, em sequencia. CTRL + ALT + V O comando "colar valores" faz com que somente os valores das células copiadas apareçam, sem qualquer formatação CTRL + PAGE DOWN Muda para a próxima planilha da sua pasta de trabalho CTRL + PAGE UP Similar ao anterior, mas muda para a planilha anterior CTRL+SHIFT+& Aplica o contorno às células selecionadas CTRL+SHIFT+_ Remove o contorno das células selecionadas CTRL+SHIFT+Sinal de porcentagem (%) Aplica o formato porcentagem sem casas decimais CTRL+SHIFT+ Sinal de cerquilha (#) Inclui no arquivo data com dia, mês e ano CTRL+SHIFT+ Sinal de arroba (@) Inclui no arquivo hora com a hora e minutos, AM ou PM
Muitas vezes, ao desenvolver nossas atividades nos deparamos com planilhas de cálculo onde são inseridos dados diariamente e em algumas destas situações, precisamos que seja calculada uma média móvel dos valores inseridos nelas. Digamos, por exemplo, a média dos 20 últimos valores inseridos. Esta seria uma tarefa relativamente fácil usando o VBA (macros), contudo resolvendo desta forma estaríamos adicionando um problema. Qual problema? A planilha não funcionaria corretamente em alguns cenários, por não permitirem a execução de macros, por exemplo: Tablets Surface RT, Smartphones e Excel Online (nuvem). Para que funcione em qualquer um destes cenários, precisamos usar exclusivamente fórmulas do Excel! A solução é a fórmula abaixo: =ARREDONDAR.PARA.CIMA(MÉDIA(ÍNDICE(K:K; CORRESP(1E+99; K:K)-20):ÍNDICE(K:K; CORRESP(1E+99; K:K)));2) Agora passo a explica-la, passo-a-passo: =ARREDONDAR.PARA.CIMA( ... ;2) -> Apenas arredonda o resultado para duas casas decimais; MÉDIA( ... : ... ) -> Calcula a média das células que estão entre as duas referências; ÍNDICE( ... ; ... ) -> o primeiro item identifica a coluna a ser verificada, o segundo identifica a linha, em resumo, retorna uma referência de célula CORRESP( ... ; ...) -> retorna a linha onde se encontra o número indicado na primeira parte, dentro da coluna indicada na segunda parte. A busca inicia na última linha digitada e vai subindo, caso não encontre o número exato, refaz buscando o mais próximo. Como o número informado na solução é muito inferior a zero e não será localizado, retornará a linha do último número inserido. Espero que tenha ficado claro, qualquer dúvida é só postar!
Eu havia postado como encurtar o link de uma célula aqui ( http://carlosfprocha.com/blogs/paleo/archive/2014/06/10/encurtando-links-no-excel.aspx ), mas recebi alguns e-mails solicitando que fizesse a postagem do código para encurtar todos os links de uma determinada coluna. Pois bem, não repetir toda o post anterior, vou colocar apenas o código VBA para esta nova tarefa, uma vez que basta substituir o do post anterior por este, para obter o resultado desejado. Como em cada e-mail havia o pedido por uma coluna diferente, fiz o código solicitar a coluna desejada. Enjoy!
No dia 26/04/2014 fui palestrante no evento SQL Saturday #284, realizado na Estácio FARGS, evento do qual participei desde seu planejamento e negociação, que ocorreram desde novembro de 2013. Nos quinze anos de existência do PASS, esta foi a primeira vez que o evento foi realizado no Rio Grande do Sul e foi realmente muito gratificante tem participado do grupo que tornou possível a realização dele, tento como palestrante, como fazendo a ponte entre a Estácio e o PASS e auxiliando no ajuste de diversos detalhes para sua realização. O evento foi um sucesso completo, onde tivemos a presença de mais de 170 pessoas, que lotaram o auditório da faculdade, desde as 08:00, até as 18:00. Sim, foram 10 horas de evento e o público permaneceu lá! Na abertura do evento tivemos um keynote com Ramnik Gulati, Global Product Manager for SQK Server da Microsoft/USA, o que muito abrilhantou o evento! O evento contou com 18 palestrantes e pela avaliação dos presentes, foi um sucesso total, tendo obtido avaliação média 4,65 , em uma escala que vai de 0 a 5. A minha palestra, que obteve nota 4,74 , em uma escala que ia de 0 a 10, foi sobre Business Intelligence usando o Microsoft Excel, com Power Query. Outra coisa que ficou bacana foi eu ter usado o Office Remote para comandar a apresentação a partir do meu Windows Phone.
Recebi um questionamento sobre como enviar a visualização de uma planilha, por e-mail. Claro, pode ser na forma de imagem, mas eu considero como melhor forma, o envio como PDF. Desta forma vamos à solução! A primeira etapa é definir a área de impressão de sua planilha e os ajustes de página, como a Orientação (Retrato ou Paisagem) e se deseja que imprimi em múltiplas páginas ou ajuste o conteúdo a uma única página, depois é executar a macro abaixo que ela faz o resto, mas claro que você precisa ajustar o que coloquei em negrito antes de roda-la: Sub eMailActiveWorksheet() ' esta macro envia apenas a planilha como PDF Dim OL As Object Dim EmailItem As Object Dim Wb As Workbook Dim Arquivo As String Application.ScreenUpdating = False Set OL = CreateObject("Outlook.Application") Set EmailItem = OL.CreateItem(olMailItem) Arquivo = " C:\Temp\ " & Replace(ActiveSheet.Name & " - " & ActiveWorkbook.Name, ".xlsm", ".pdf") ActiveSheet.Copy Set Wb = ActiveWorkbook Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ Arquivo, Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False With EmailItem .Subject = " Assunto_do_e-mail " .Body = " Mensagem_do_e-mail " .To = " destinatário_do_email " .Importance = olImportanceNormal .Attachments.Add Arquivo .Send End With Wb.Close False Application.ScreenUpdating = True Set Wb = Nothing Set OL = Nothing Set EmailItem = Nothing End Sub Substitua “C:\Temp\” pela pasta de sua preferência.
Hoje respondi a uma pergunta no forum sobre como se criaria um timer para a execução de uma macro no Excel, pois aqui vai a solução: Para que o timer seja iniciado ao abrir a planilha inclua este código em EstaPasta_de_trabalho : Private Sub Workbook_Open() Call iniTimer End Sub Agora insira um módulo e nele adicione o seguinte código (Inserir -> Módulo): Public Sub iniTimer() Application.OnTime EarliestTime:=Time + TimeValue("00:00:05"), Procedure:="minhaMacro" End Sub Public Sub minhaMacro() On Error Resume Next MsgBox ("Passou o tempo!") Application.OnTime EarliestTime:=Now + TimeValue("00:00:05"), Procedure:="minhaMacro" End Sub Public Sub paraTimer() Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), Procedure:="minhaMacro", Schedule:=False End Sub Naturalmente que o código de meu exemplo não faz muito sentido, pois apenas informa que o tempo passou, mas basta que você substitua a linha MsgBox ("Passou o tempo!") , pelo conteúdo que deseja executar com o timer, que seu código estará pronto. Onde está o truque? No evento Application.OnTime Onde o tempo é definido? No parâmetro EarliestTime Espero que gostem e façam bom proveito!