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

SANDWICH PROJECT 2016 - VBA Excel - Força a Digitação em Maiúsculo - Force CAPS LOCK on Entry

SANDWICH PROJECT 2016 - VBA Excel - Força a Digitação em Maiúsculo - Force CAPS LOCK on Entry






































É horrível quando nossa tecla Caps Lock, fica presa e só percebemos isso depois de digitarmos metade ou quase toda a frase que queríamos. Mas, suponha que tenha uma coluna na sua planilha Excel onde digitará um estado do Brasil, ou precise digitar M ou F para Masculino / Feminino. 

Este código altera qualquer entrada de texto na faixa designada para maiúsculas.

Coloque o seguinte código na janela de código ThisWorksheet. O Range ( "C: C") pode ser alterado para qualquer faixa de intervalo que desejar, tal como C1: C15.

Sub Worksheet_Change (ByVal Target As Range)

Let Application.EnableEvents = False
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
    Let Target(1).Value = UCase(Target(1).Value)
End If
Let Application.EnableEvents = True

End Sub










SANDWICH PROJECT 2016 - VBA Excel - Copy a Master Worksheet

SANDWICH PROJECT 2016 - VBA Excel - Copy a Master Worksheet



Sabe quando cria uma planilha mestra e gostaria de copiá-la rapidamente como um modelo para uma nova planilha?

Este código funciona muito bem com um calendário, planilhas de dataentry (entrada de dados) mensais, e outras aplicações onde tem planilhas com praticamente o mesmo layout.

Estou supondo que a planilha que deseja copiar seja chamada de Master, e que esteja oculta quando executar a macro. 

Abra sua pasta de trabalho. Pressione Alt + F11 para visualizar o Editor do VBA. Clique duas vezes em ThisWorkbook. E cole o seguinte código na janela de código:

Dim NewPageName As String
Sub NewPage()
       Let Sheets("Master").Visible = True
       Sheets("Master").Copy After:=Worksheets(Worksheets.Count)
       Let NewPageName = InputBox("What would you like to call your new Worksheet")
       Let ActiveWindow.ActiveSheet.Name = NewPageName
       Let Sheets("Master").Visible = False
End Sub








SANDWICH PROJECT 2016 - VBA Excel - Crack Sheet Protection Password

SANDWICH PROJECT 2016 - VBA Excel: Quebrando a proteção de Planilha Protegida - Crack Sheet Protection Password






Às vezes protegemos nossas planilhas e simplesmente esquecemos a senha que havíamos colocado nela. Aí ficamos várias horas tentando lembrar, o que trás muito transtorno quando estamos com pressa, o que não é raro.

O código abaixo deve ser colado na mesma Sheet (ALT + F11) que estiver protegida.


Sub WorkBookPasswordBreaker()
    '      Author: André Luiz Bernardes - A&A - In Any Place - andreluizbernardes@gmail.com
    '        Date: 11/05/2016 - 14:45
    ' Application: Field Force Dashboard Analysis® - © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Company: © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Purpose: Crack Sheet Protection Password
  
  Dim i As Integer, j As Integer, k As Integer
  Dim l As Integer, m As Integer, n As Integer
  Dim i1 As Integer, i2 As Integer, i3 As Integer
  Dim i4 As Integer, i5 As Integer, i6 As Integer
  On Error Resume Next
  For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
    Debug.Print Chr(i) & Chr(j) & Chr(k) & _
      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
    ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
    If ActiveSheet.ProtectContents = False Then
      MsgBox "A possível senha é " & Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
        ActiveWorkbook.Sheets(1).Select
        Let Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
       Exit Sub
    End If
  Next: Next: Next: Next: Next: Next
  Next: Next: Next: Next: Next: Next
End Sub

30 Motivos para Nunca Desistir

30 Motivos para Nunca Desistir

















Ou: Sim, a vida é dura...Prá quem é mole.



Office 2016 - Centro de Treinamento do Office

Office 2016 - Centro de Treinamento do Office





















Aprenda de acordo com o aplicativo ou serviço

Office 365 Outlook Word Excel PowerPoint OneNote OneDrive Skype for Business Lync AccessFornecedor SharePoint Yammer Delve Visio Project

Aprenda de acordo com o cenário

O treinamento baseado em cenários do Office 365 fornece tutoriais motivadores para mostrar como uma equipe pode dinamizar a maneira de trabalhar. Por exemplo, como salvar os arquivos na nuvem para poder acessá-los em praticamente qualquer lugar e em quase todos os dispositivos. Também é demonstrado como usar o Office 365 para trabalhar em equipe, compartilhando arquivos e coeditando documentos armazenados na nuvem.


Realize tarefas a partir de qualquer lugar


Colaboração em conteúdo


Realize reuniões mais eficazes


Email e calendário em praticamente qualquer lugar


Trabalhe em rede






Office 2016 - Guias de Iniciação Rápida

Office 2016 - Guias de Iniciação Rápida



Foram criadas novas versões do Word, Excel, PowerPoint, Outlook e OneNote para o PC com Windows. Faça o Download gratuito dos Guias de Iniciação Rápida para obter uma introdução aos princípios básicos de cada uma dessas aplicações.

Para um olhar mais atento aos novos recursos nesses aplicativos, consulte o que há de mais novo e melhorado no Office 2016.


Palavra 2016 Quick Start Guide (Windows)
Guia de Iniciação Rápida do Word 2016

Excel 2016 Quick Start Guide (Windows)
Guia de Iniciação Rápida do Excel 2016 
Download PDF ou on-line 

PowerPoint 2016 Quick Start Guide (Windows)
Guia de Iniciação Rápida do PowerPoint 2016 
Download PDF ou on-line

Outlook 2016 Quick Start Guide (Windows)
Guia de Iniciação Rápida do Outlook 2016 
Download PDF ou on-line

OneNote 2016 Quick Start Guide (Windows)
Guia de Iniciação Rápida do OneNote 2016 
Download PDF ou on-line
Provavelmente já usou o OneNote antes. Mas talvez se tenha perguntado se não dá fazer mais e de uma maneira mais rápida. É por isso que este livro eletrônico foi criado — para que possa aprender sobre as técnicas, truques e recursos ocultos no OneNote 2016. Os livros eletrônicos do Microsoft Office 2016 são uma nova série de conteúdo gratuito.

livro eletrônico: o OneNote 2016 dicas e truques

Miniatura de pacote do Guia de Início Rápido do Skype for Business
Guia de Iniciação Rápida do Skype for Business



 

VBA Excel Intermediário - Mudando a Referência de Vários Gráficos ao mesmo tempo

VBA Excel Intermediário - Mudando a Referência de Vários Gráficos ao mesmo tempo



Vez ou outra precisamos mover nossos gráficos entre planilhas e neste momento dá um frio na barriga, porque para isso precisaremos mexer em todas as referências dos gráficos contidos em nossa activesheet.

E como pode imaginar, fazer isso manualmente certamente propiciará erros. Sim, não há nada mais fácil do que implementar erros durante o momento de uma transcrição de código e/ou referências. 

Neste momento seria muito bom termos à disposição um código que fizesse isso para nós hein! Que tal se apenas precisássemos colar o código, posicionarmo-nos dentro da planilha onde todas as referências precisem ser corrigidas e voilá, TODAS AS REFERÊNCIAS são acertadas sem alterar nenhuma configuração prévia dos nossos gráficos.

Pensando nisso, compartilho o código abaixo, o qual, espero, possa livrá-los de transtornos...

Sub ChangeSeriesFormulaAllCharts()
    '      Author: André Luiz Bernardes - A&A - In Any Place - andreluizbernardes@gmail.com
    '        Date: 13/05/2016 - 11:45
    ' Application: Field Force Dashboard Analysis® - © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Company: © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Purpose: Extract old reference and put new chart references
    ''' Do all charts in sheet
    Dim oChart As ChartObject
    Dim OldString As String, NewString As String
    Dim mySrs As Series
    Let OldString = "[REUNIAO PERFORMANCE.xlsx]" 'InputBox("Enter the string to be replaced:", "Enter old string")
    If Len(OldString) > 1 Then
        Let NewString = ""  'InputBox("Enter the string to replace " & """" _
            & OldString & """:", "Enter new string")
     
        For Each oChart In ActiveSheet.ChartObjects
            Debug.Print oChart.Name
         
            For Each mySrs In oChart.Chart.SeriesCollection
                Debug.Print "CHART " & oChart.Name & " OLD: " & mySrs.Formula & " NEW: " & Replace(mySrs.Formula, OldString, NewString)
                Let mySrs.Formula = Replace(mySrs.Formula, OldString, NewString)
            Next
        Next
    Else
        MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
    End If
End Sub
 

VBA Excel Basic - Gráfico - Alterando todas as Fontes de todos os Objetos em todos os Gráficos

VBA Excel Basic - Gráfico - Alterando todas as Fontes de todos os Objetos em todos os Gráficos



No desenvolvimento e implementação de Dashboards sempre precisaremos aproveitar a construção de sets (conjuntos) de gráficos previamente desenvolvidos. Geralmente estes foram feitos por pessoas que, apesar de saberem criar gráficos, desconhecem alguns aspectos importantes da sua manutenção e criação.

Existe um motivo para mantermos todas as fontes dentro de um gráfico sempre como o mesmo tipo. Qual?

Velocidade

Sim, quanto mais fontes diferentes estiverem sendo usadas num gráfico, mais lento este será carregado. E se for um conjunto com diversos gráficos então, isso será multiplicado, isso quando não trouxer transtornos a atualização.

DICA: Mantenha todas as fontes, de todos os objetos dentro de um gráfico, com o mesmo tipo.

Mas ... Como fazemos? Que código devo usar?

Bem, o código abaixo, além de colocar todas as fontes dentro de código, num mesmo tipo, ainda permite colocar os títulos e os valores das séries neles como negrito. Divirta-se!


Sub ChangeAllFontsAllCharts()
    '      Author: André Luiz Bernardes - A&A - In Any Place - andreluizbernardes@gmail.com
    '        Date: 16/05/2016 - 06:45
    ' Application: Field Force Dashboard Analysis® - © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Company: © A&A - In Any Place, Inc. Todos os direitos reservados.
    '     Purpose: Change all fonts in all charts in activesheet
    Dim Charts As ChartObject
    Dim chSeries As Series
    Dim nFontName As String
    Let nFontName = "Arial"
    For Each Charts In ActiveSheet.ChartObjects
        Debug.Print "Nome do Gráfico:" & Charts.Name
        Charts.Activate
        ' All chart Fonts.
        With ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font
            Let .Name = nFontName
            'Let .Size = 14
        End With
        ' Title Fonts.
        'Let ActiveChart.ChartTitle.Font.Name = nFontName
        Let ActiveChart.ChartTitle.Font.FontStyle = "Bold"
        ' Series Fonts.
        For Each chSeries In ActiveChart.SeriesCollection
            Debug.Print "Nome da Série:" & ActiveChart.Name
            With chSeries.DataLabels.Font
                'Let .Name = nFontName
                Let .Size = 12
                Let .FontStyle = "Bold"
            End With
        Next
    Next Charts
End Sub
A coleção Charts contém um objeto Chart para cada planilha de gráfico em uma pasta de trabalho. Use Charts (índice), onde índice é o número ou o nome do índice da planilha de gráfico, para retornar um único objeto Chart. O número do índice do gráfico representa a posição da planilha do gráfico na barra da guia da pasta de trabalho. Charts (1) é o primeiro gráfico (mais à esquerda) na pasta de trabalho; Charts (Charts.Count) é o último (mais à direita). Todas as planilhas de gráfico estão incluídas na contagem do índice, mesmo se estiverem ocultas. O nome da planilha de gráfica é mostrado na guia da pasta de trabalho para o gráfico. Use a propriedade Name para definir ou retornar o nome do gráfico.

O objeto Chart também é membro da coleção Sheets, que contém todas as planilhas na pasta de trabalho (planilhas de gráfico e planilhas). Use Sheets (índice), onde índice é o número ou o nome do índice da planilha, para retornar uma única planilha.

Quando um gráfico estiver no objeto ativo, poderá usar a propriedade ActiveChart para fazer referência a ele. Uma planilha de gráfico será ativa se o usuário a tiver selecionado ou se ela tiver sido ativada com o método Activate do objeto Chart ou com o método Activate do objeto ChartObject. 

Um gráfico interno será ativo caso o usuário o tenha selecionado ou se o objeto ChartObject no qual ele está contido tiver sido ativado com o método Activate.

O uso da propriedade ActiveChart permite que você escreva código do Visual Basic que possa fazer referência a um gráfico interno ou a uma planilha de gráfico (o que estiver ativo).


Quando uma planilha de gráfico estiver na planilha ativa, você poderá usar a propriedade ActiveSheet para fazer referência a ela.

MSDN SAMPLES



eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine