Em continuação à postagem anterior, estou ensinando a instalar o Media@Skin no Media Nav.
Através do Media@Skin é possível rodar o IGO o 7 Ways no Media Nav, onde pode ser atualizado periodicamente sem pagar os abusivos R$ 300 que a Renault cobra para atualizar. Na internet é possível adquirir mapas com preços acessíveis ou até mesmo gratuitos. Além de poder rodar vídeos diretamente no Media Nav.
para instalar o Media@Skin precisamos do Media Nav Evolution com a atualização 6.0.3 . Para instalar esta atualização consulte a postagem anterior, neste link. http://atualexcel.blogspot.com/2017/03/downgrade-media-nave.html
Abaixo disponibilizo os links para baixar o Media@Skin, que encontrei no fórum: http://www.loganclube.com.br/thread-2534-page-15.html
Sem mapas (+/- 186Mb):
http://www.4shared.com/zip/mNBG5Alsba/Me...MAPAS.html
Com mapas (+/- 1,2Gb)
http://www.4shared.com/rar/4QuXoMEhce/Me...part1.html
http://www.4shared.com/rar/q0rbuJYyce/Me...part2.html
http://www.4shared.com/rar/VT-qdqMKce/Me...part3.html
http://www.4shared.com/rar/QOMfSwZoba/Me...part4.html
http://www.4shared.com/rar/EB-IdJQuba/Me...part5.html
http://www.4shared.com/rar/CgzUMrD9ba/Me...part6.html
Após baixar verifique a integridade do arquivo com o HJsplit.
http://www.4shared.com/zip/fy5YI559ba/hjsplit.html
- Basta extrair o arquivo upgrade_root.lgu para um pendrive formatado em FAT32,
- Plugar o pendrive no Media Nav desligado e, ligar a chave e o Media Nav.
- Aguarde o Media Nav iniciar, aparecerá uma janela solicitando confirmação para instalar a atualização, basta confirmar.
- Neste momento iniciará a instalação. Não desligue a chave antes da conclusão, deve demorar em torno de um 20 min.
Após a conclusão aparecerá uma bolinha amarela na tela, arraste e solte onde desejar.
Para acessar o Media@Skin clique na bolinha.
O Media@Skin é executado diretamente no pendrive, por isso para utilizar, ligue a central multimídia com o pendrive plugado.
Para reproduzir os sons do IGO, 7 Ways ou dos vídeos, inicie a reprodução de uma musica de qualquer pasta do pendrive e pause a mesma, caso deseje ouvir musicas durante a navegação não é necessário pausar.
O IGO gerado nesta instalação está com um erro nos arquivos de tradução (lang) que não exibe o teclado para digitar os números das casas quando for alterado o idioma para o português. Encontrei outro pacote de tradução e alterei no IGO. Além disso fiz outras modificações e estou disponibilizando para quem quiser baixar.
Abra a pasta MediaskinND e exclua a pasta Igo8 e insira esta que estou disponibilizando. Antes faça um backup da pasta.
https://www.dropbox.com/s/x74t4pjyrkdembe/Igo8.rar?dl=0
Faça por sua própria conta de risco, não me responsabilizo por instalação mal sucedida.
Cabeçalho
quinta-feira, 30 de março de 2017
sexta-feira, 17 de março de 2017
Downgrade Media Nave
Hoje fugindo um pouco do foco do blog, estou postando minha indignação referente ao desrespeito da Renault com o consumidor.
Em 2016 comprei um Sandero com o Media Nav, onde o critério de escolha foi por ter GPS integrado. No teste drive o GPS do carro estava desativado, mas o vendedor me garantiu que o GPS funciona corretamente, está atualizado e que eu poderia atualizar gratuitamente pelo site quando desejasse.
Aproximadamente um mês após a compra chegou o carro e realmente o GPS estava funcionando, porem as rotas sugeridas não eram as melhores. Um tempo depois verifiquei que a atualização instalada era de 2013.
Fui no site para atualizar e é possível atualizar gratuitamente somente o Media Nav, o GPS custa mais 300 reais para atualizar. A concessionaria onde comprei o carro fechou, então fui em outra e, me informaram que não poderiam fazer nada.
Meu questionamento não é por cobrar a atualização e sim por vender algo desatualizado obrigando o usuário a atualizar para poder usar e pagando por isso.
Procurei na internet e encontrei uma forma de rodar o Media@skin, nele é possível rodar os navegadores IGO 8 e o 7 Ways, os quais é possível encontrar mapas atualizados com facilidade na internet. Instalei e utilizei por um bom tempo sem problemas.
Quando fui fazer a revisão instalara a atualização 7.0.5 do Media Nav, no qual não roda o Media@skin. Recorri a internet e encontrei a atualização 6.0.3 e fiz um downgrade para a mesma e estou utilizando novamento o Media@skin.
Estou postando este tutorial ensinando a fazer o downgrade de uma versão superior à 6.0.3.
Basta baixar o arquivo abaixo e extrair para a raiz de um pendrive, recomenda-se pelo menos 4G disponíveis.
Com o Media Nav desligado, insira o pendrive e ligue a chave, aguarde o sistema iniciar. Logo aparecerá uma janela informado que há um arquivo de atualização, informando a atualização atual e a que será instalada. Basta confirmar a atualização.
Não desligue a chave antes de concluir a instalação.
Após concluir a instalação apegue o arquivo do pendrive para que não seja solicitado toda a vez que ligar o Media Nave com o pendrive inserido.
Faça por sua própria conta de risco.
Não me responsabilizo por atualização mal sucedida.
Segue o link para download da versão 6.0.6 do Media Nav. Esta é a ver são compatível com o Media@skin.
Na próxima postagem disponibilizarei o Media@skin e as instruções de instalação. deixarei o link aqui.
Media Nav 6.0.3
Em 2016 comprei um Sandero com o Media Nav, onde o critério de escolha foi por ter GPS integrado. No teste drive o GPS do carro estava desativado, mas o vendedor me garantiu que o GPS funciona corretamente, está atualizado e que eu poderia atualizar gratuitamente pelo site quando desejasse.
Aproximadamente um mês após a compra chegou o carro e realmente o GPS estava funcionando, porem as rotas sugeridas não eram as melhores. Um tempo depois verifiquei que a atualização instalada era de 2013.
Fui no site para atualizar e é possível atualizar gratuitamente somente o Media Nav, o GPS custa mais 300 reais para atualizar. A concessionaria onde comprei o carro fechou, então fui em outra e, me informaram que não poderiam fazer nada.
Meu questionamento não é por cobrar a atualização e sim por vender algo desatualizado obrigando o usuário a atualizar para poder usar e pagando por isso.
Procurei na internet e encontrei uma forma de rodar o Media@skin, nele é possível rodar os navegadores IGO 8 e o 7 Ways, os quais é possível encontrar mapas atualizados com facilidade na internet. Instalei e utilizei por um bom tempo sem problemas.
Quando fui fazer a revisão instalara a atualização 7.0.5 do Media Nav, no qual não roda o Media@skin. Recorri a internet e encontrei a atualização 6.0.3 e fiz um downgrade para a mesma e estou utilizando novamento o Media@skin.
Estou postando este tutorial ensinando a fazer o downgrade de uma versão superior à 6.0.3.
Basta baixar o arquivo abaixo e extrair para a raiz de um pendrive, recomenda-se pelo menos 4G disponíveis.
Com o Media Nav desligado, insira o pendrive e ligue a chave, aguarde o sistema iniciar. Logo aparecerá uma janela informado que há um arquivo de atualização, informando a atualização atual e a que será instalada. Basta confirmar a atualização.
Não desligue a chave antes de concluir a instalação.
Após concluir a instalação apegue o arquivo do pendrive para que não seja solicitado toda a vez que ligar o Media Nave com o pendrive inserido.
Faça por sua própria conta de risco.
Não me responsabilizo por atualização mal sucedida.
Segue o link para download da versão 6.0.6 do Media Nav. Esta é a ver são compatível com o Media@skin.
Na próxima postagem disponibilizarei o Media@skin e as instruções de instalação. deixarei o link aqui.
Media Nav 6.0.3
domingo, 26 de fevereiro de 2017
Executar macro quando uma célula for alterada
Esta macro é executada sempre que houver alteração na planilha. Após a alteração a macro checa se é a célula definida que foi modificada, então executa os comandos definidos.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B1")) Is Nothing Then ' Comandos End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B1")) Is Nothing Then ' Comandos End If End Sub
domingo, 29 de janeiro de 2017
Descobrir o nome de todas as planilhas
Para descobrir o nome de todas as planilhas de uma pasta de trabalho basta utilizar a macro abaixo. Com ela é possível obter o nome, o código e o índice e adicionar na planilha.
Sub Nomes_planilhas()
For i = 1 To Sheets.Count
Plan1.Cells(i + 1, 1) = Sheets(i).CodeName
Plan1.Cells(i + 1, 2) = Sheets(i).Name
Plan1.Cells(i + 1, 3) = i
Next
End Sub
Para fazer referencia às planilhas basta utilizar a macro abaixo. Pode ser utilizado somente uma das opções, todas fazem a mesma coisa.
Sub ativar_planilhas()
Plan2.Activate
Sheets("jan").Activate
Sheets(5).Activate
End Sub
Sub Nomes_planilhas()
For i = 1 To Sheets.Count
Plan1.Cells(i + 1, 1) = Sheets(i).CodeName
Plan1.Cells(i + 1, 2) = Sheets(i).Name
Plan1.Cells(i + 1, 3) = i
Next
End Sub
Para fazer referencia às planilhas basta utilizar a macro abaixo. Pode ser utilizado somente uma das opções, todas fazem a mesma coisa.
Sub ativar_planilhas()
Plan2.Activate
Sheets("jan").Activate
Sheets(5).Activate
End Sub
quarta-feira, 26 de outubro de 2016
Selecionar células com fórmulas
Selecionar células com fórmulas
Esta macro seleciona todas as células com fórmulas
Sub Seleciona_todas_Celulas_Com_Formulas()
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
'Selection.ClearContents
'Selection.Delete
End Sub
Esta macro seleciona todas as células com fórmulas
Sub Seleciona_todas_Celulas_Com_Formulas()
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
'Selection.ClearContents
'Selection.Delete
End Sub
Identificar dados repetidos
Identificar dados repetidos
Esta macro Excel VBA abre um inputbox e solicita para selecionar um range onde serão avaliados os dados e destaca os repetidos de cor diferente dos valores únicos.
Sub Verifica_Duplicados()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Application.InputBox("Range a examinar", Type:=8)
If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> “” Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 43
Else
Cell.Interior.ColorIndex = 6
End If
End If
Next Cell
End Sub
Esta macro Excel VBA abre um inputbox e solicita para selecionar um range onde serão avaliados os dados e destaca os repetidos de cor diferente dos valores únicos.
Sub Verifica_Duplicados()
Dim Collec As New Collection, Cell As Range, Plage As Range
On Error Resume Next
Set Plage = Application.InputBox("Range a examinar", Type:=8)
If IsEmpty(Plage) Then Exit Sub
For Each Cell In Plage
If Cell.Value <> “” Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 43
Else
Cell.Interior.ColorIndex = 6
End If
End If
Next Cell
End Sub
Selecionar a próxima célula vazia
Selecionar a próxima célula vazia
Ésta macro seleciona a próxima célula em branco à Direita. Para selecionar células à esquerda, acima ou abaixo basta alterar os parâmetros Offset.
Sub Selecina_Proxima_celula_Vazia_Direita()
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
End Sub
Ésta macro seleciona a próxima célula em branco à Direita. Para selecionar células à esquerda, acima ou abaixo basta alterar os parâmetros Offset.
Sub Selecina_Proxima_celula_Vazia_Direita()
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
End Sub
segunda-feira, 17 de outubro de 2016
Macros Prontas
Abaixo estou disponibilizando algumas macros simples do Excel VBA mas que podem ser muito útil no dia a dia.
Identificar o usuário logado
Esta macro identifica o usuário logado, o domínio da rede e o nome do computador. Armazena todos em uma variável e exibe em uma caixa de texto.
Esta macro é útil quando precisamos bloquear acesso à alguma planilha, limitar algumas ações e etc.
Sub Usuário_logado()
Usuário = Environ("username") 'Recebe o nome do usuário que está logado
Dominio = Environ("userdomain") 'Recebe o domínio da rede
Computador = Environ("computername") 'Recebe o nome do computador
MsgBox ("Usuário: " & Usuário)
MsgBox ("Dominio: " & Dominio)
MsgBox ("Computador: " & Computador)
End Sub
Ocultar Barras no Excel VBA
Esta macro oculta e reexibe os objetos window do Excel.
Sub Ocltar()
Application.DisplayFullScreen = True 'Exibe em Modo de Leitura (tela cheia)
ActiveWindow.DisplayHeadings = False 'Oculta o Cabeçalho (Letras das colunas)
Application.DisplayFormulaBar = False 'Oculta a barra de Formulas
ActiveWindow.DisplayHorizontalScrollBar = False 'Oculta a barra de rolagem Horizontal
ActiveWindow.DisplayVerticalScrollBar = False 'Oculta a barra de rilagem Vertival
ActiveWindow.DisplayWorkbookTabs = False 'Oculta as Tabs para mudar de Folha
Application.DisplayStatusBar = False 'Oculta a barra do Status
Application.DisplayAlerts = False 'Desabilita a exibição de avisos do sistema
End Sub
Sub Reexibir()
Application.DisplayFullScreen = False 'Sai do Modo de Leitura
ActiveWindow.DisplayHeadings = True 'Mostra o Cabeçalho
Application.DisplayFormulaBar = True 'Mostra a barra de Formulas
ActiveWindow.DisplayHorizontalScrollBar = True 'Mostra a barra de rolagem Horizontal
ActiveWindow.DisplayVerticalScrollBar = True 'Mostra a barra de rolagem Vertival
ActiveWindow.DisplayWorkbookTabs = True 'Mostra as Tabs para mudar de Folha
Application.DisplayStatusBar = True 'Mostra a barra do Status
Application.DisplayAlerts = True 'Habilita a exibição de avisos do sistema
End Sub
Identificar o usuário logado
Esta macro identifica o usuário logado, o domínio da rede e o nome do computador. Armazena todos em uma variável e exibe em uma caixa de texto.
Esta macro é útil quando precisamos bloquear acesso à alguma planilha, limitar algumas ações e etc.
Sub Usuário_logado()
Usuário = Environ("username") 'Recebe o nome do usuário que está logado
Dominio = Environ("userdomain") 'Recebe o domínio da rede
Computador = Environ("computername") 'Recebe o nome do computador
MsgBox ("Usuário: " & Usuário)
MsgBox ("Dominio: " & Dominio)
MsgBox ("Computador: " & Computador)
End Sub
Ocultar Barras no Excel VBA
Esta macro oculta e reexibe os objetos window do Excel.
Sub Ocltar()
Application.DisplayFullScreen = True 'Exibe em Modo de Leitura (tela cheia)
ActiveWindow.DisplayHeadings = False 'Oculta o Cabeçalho (Letras das colunas)
Application.DisplayFormulaBar = False 'Oculta a barra de Formulas
ActiveWindow.DisplayHorizontalScrollBar = False 'Oculta a barra de rolagem Horizontal
ActiveWindow.DisplayVerticalScrollBar = False 'Oculta a barra de rilagem Vertival
ActiveWindow.DisplayWorkbookTabs = False 'Oculta as Tabs para mudar de Folha
Application.DisplayStatusBar = False 'Oculta a barra do Status
Application.DisplayAlerts = False 'Desabilita a exibição de avisos do sistema
End Sub
Sub Reexibir()
Application.DisplayFullScreen = False 'Sai do Modo de Leitura
ActiveWindow.DisplayHeadings = True 'Mostra o Cabeçalho
Application.DisplayFormulaBar = True 'Mostra a barra de Formulas
ActiveWindow.DisplayHorizontalScrollBar = True 'Mostra a barra de rolagem Horizontal
ActiveWindow.DisplayVerticalScrollBar = True 'Mostra a barra de rolagem Vertival
ActiveWindow.DisplayWorkbookTabs = True 'Mostra as Tabs para mudar de Folha
Application.DisplayStatusBar = True 'Mostra a barra do Status
Application.DisplayAlerts = True 'Habilita a exibição de avisos do sistema
End Sub
sexta-feira, 14 de outubro de 2016
Excel - Desbloquear Projeto VBA
Nesta postagem explicarei como desbloquear aquele projeto VBA que foi protegido e precisamos editar, porém não lembramos a senha. Com esta ferramenta é possível remover a senha e deixa-lo livre para a edição. Esta ferramenta não descobre a senha, apenas remove a mesma.
Primeiramente precisamos baixar 2 programas, que são disponibilizados gratuitamente na internet, abaixo disponibilizo os links para baixar. Um compactador de arquivos e um editor binário, o 7-Zip e o Hexedit respectivamente.
Faremos uma copia do arquivo e trabalharemos com ela, que se algo der errado não perdemos o arquivo.
Instalamos os dois programas.
Com os programas instalados, clicamos com o botão direito do mouse sobre o arquivo que queremos desbloquear, o mesmo deve estar fechado, selecionamos o menu abrir com e escolhemos o 7-Zip. Caso o 7-Zip não esteja na lista de programas sugeridos, clicamos em procurar e na pasta e na pasta 7-Zip selecionamos o 7zFM.
Dentro do 7-Zip abrimos a pasta xl, e procuramos pelo arquivo VbaProject.bin. Clicamos nele e arrastamos para fora do 7-Zip, para a área de trabalho ou qualquer outra pasta.
Clicamos com o botão direito do mouse sobre ele e abrir com (open with Hxedit) e pressionamos as teclas CTRL+F para localizar. Localizamos pelo texto DPB e substituímos por DPX. Fechar e salvar.
Arrastamos o Arquivo VbaPproject.bin de volta para o -Zip, no mesmo local em que ele estava e confirmamos a substituição. Fechar o 7-Zip.
Abrimos o arquivo do Excel normalmente (com o Excel). Se acusar algum erro, basta pressionar Esc até o erro sair.
Pressionar Alt+F11 para acessar o Projeto VBA. Clicamos em Ferramentas e depois em Propriedades do VBAProject e na guia proteção, desmarcamos a opção bloquear projeto para exibição e confirmamos. Basta salvar e o projeto estará desbloqueado.
Veja a vídeo Aula
Links para baixar.
https://drive.google.com/file/d/0BySfeM8SDYpTTm84Q0NDcjdmMjA/view?usp=sharing
Primeiramente precisamos baixar 2 programas, que são disponibilizados gratuitamente na internet, abaixo disponibilizo os links para baixar. Um compactador de arquivos e um editor binário, o 7-Zip e o Hexedit respectivamente.
Faremos uma copia do arquivo e trabalharemos com ela, que se algo der errado não perdemos o arquivo.
Instalamos os dois programas.
Com os programas instalados, clicamos com o botão direito do mouse sobre o arquivo que queremos desbloquear, o mesmo deve estar fechado, selecionamos o menu abrir com e escolhemos o 7-Zip. Caso o 7-Zip não esteja na lista de programas sugeridos, clicamos em procurar e na pasta e na pasta 7-Zip selecionamos o 7zFM.
Dentro do 7-Zip abrimos a pasta xl, e procuramos pelo arquivo VbaProject.bin. Clicamos nele e arrastamos para fora do 7-Zip, para a área de trabalho ou qualquer outra pasta.
Clicamos com o botão direito do mouse sobre ele e abrir com (open with Hxedit) e pressionamos as teclas CTRL+F para localizar. Localizamos pelo texto DPB e substituímos por DPX. Fechar e salvar.
Arrastamos o Arquivo VbaPproject.bin de volta para o -Zip, no mesmo local em que ele estava e confirmamos a substituição. Fechar o 7-Zip.
Abrimos o arquivo do Excel normalmente (com o Excel). Se acusar algum erro, basta pressionar Esc até o erro sair.
Pressionar Alt+F11 para acessar o Projeto VBA. Clicamos em Ferramentas e depois em Propriedades do VBAProject e na guia proteção, desmarcamos a opção bloquear projeto para exibição e confirmamos. Basta salvar e o projeto estará desbloqueado.
Veja a vídeo Aula
Links para baixar.
https://drive.google.com/file/d/0BySfeM8SDYpTTm84Q0NDcjdmMjA/view?usp=sharing
domingo, 29 de março de 2015
Barra de menus personalizada excel VBA
Olá, esta postagem exemplifica a criação de uma barra de menus personalizada no excel com VBA.
Exemplificarei três formas diferentes de barras de menus.
Sub Exemplo1()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete 'Deleta a barra
'Cria a barra e defiene os nomes
Set MinhaBarra1 = CommandBars.Add
MinhaBarra1.Name = "Barra_Planilhas"
MinhaBarra1.Visible = True
Set menu = MinhaBarra1.Controls.Add(msoControlComboBox) 'Defiene o tipo de menu
For i = 1 To Sheets.Count ' Faz a contagem das planilhas e adiciona ao ComboBox
menu.AddItem Sheets(i).Name
Next
menu.OnAction = "Navega_Plan" 'Macro que ira executar ao clicar em uma opção
menu.Text = "Seleciona Planilha" 'Texto a exibir no combobox
Set menu2 = MinhaBarra1.Controls.Add(msoControlComboBox)
Dim x As String
i = Range(Cells(1, 1), Cells(10, 1))
For i = 1 To (Cells(Rows.Count, 1).End(xlUp).Row)
x = Plan2.Cells(i, 1)
menu2.AddItem (x)
Next
menu2.OnAction = "Navega_Plan1"
menu2.Text = "Menu 2"
End Sub
Sub Navega_Plan()
Sheets(CommandBars("Barra_Planilhas").Controls(1).Text).Select
End Sub
Sub Navega_Plan1()
Dim y As String
y = (CommandBars("Barra_Planilhas").Controls(2).Text) 'Transfere o item do menu2 selecionado para avariavel Y.
MsgBox (y)
End Sub
Sub RemoveBarra()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete
End Sub
Public Const MinhaBarra As String = "MinhaBarra"
Public Sub Exemplo2()
Dim Vbarra As CommandBar
Dim VBotoes As CommandBarButton
Dim menu As CommandBarPopup
On Error Resume Next
'Exclui a barra
Application.CommandBars(MinhaBarra).Delete
'Adiciona a barra de ferramentas com o nome de VBarra
Set Vbarra = CommandBars.Add(MinhaBarra, msoBarFloating)
With Vbarra
.Visible = True
End With
'Adiciona botões à barra de ferramentas
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.BeginGroup = True
.Caption = "Botão 1" 'Define o título do botão
.Style = msoButtonCaption 'Estilo do botão (texto, icone, ambos ...)
.OnAction = "macro1" 'Macro que executada ao clicar
.Visible = True 'Exibe ou oculta a barra
.Width = 390 'Define o tamanho do botão
.TooltipText = "Este é o botão 1" 'Define o texto de informação do botão
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 2"
.Style = msoButtonIconAndCaption
.FaceId = 444
.OnAction = "macro2"
.Visible = True
.Width = 200
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "Botão 3"
.Style = msoIcon
.FaceId = 17
.OnAction = "macro3"
.Visible = True
.Width = 50
End With
'Adiciona menus com figuras personalizadas
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 4"
.Style = msoButtonIconAndCaption
.OnAction = "macro4"
Plan2.Shapes("imagem1").Copy
.PasteFace
.TooltipText = "Este é o botão 4"
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 5"
.Style = msoButtonIconAndCaption
.OnAction = "macro5"
Plan2.Shapes("imagem2").Copy
.PasteFace
End With
End Sub
Public Sub DeletarBarra()
On Error Resume Next
Application.CommandBars(MinhaBarra).Delete
End Sub
Sub macro1()
MsgBox ("Você clicou no botão 1")
End Sub
Sub macro2()
MsgBox ("Você clicou no botão 2")
End Sub
Sub macro3()
MsgBox ("Você clicou no botão 3")
End Sub
Sub macro4()
MsgBox ("Você clicou no botão 4")
End Sub
Sub macro5()
MsgBox ("Você clicou no botão 5")
End Sub
Option Explicit
Sub Exemplo3()
Dim MeuMenu, MeuSubMenu As CommandBarControl
On Error Resume Next
CommandBars.FindControl(Tag:="MeusMenus").Delete
' cria um novo menu
Set MeuMenu = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With MeuMenu
.Caption = "&Meu Menu"
.Tag = "MeusMenus"
.BeginGroup = True
.Visible = True
End With
If MeuMenu Is Nothing Then Exit Sub
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.FaceId = 71
.Caption = "&Menu Item1"
.OnAction = "primeiramacro"
End With
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "M&enu Item2"
.OnAction = "segundamacro"
End With
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.FaceId = 59
.Caption = "Menu Item 3"
.OnAction = "terceiramacro"
End With
' adiciona um menu
Set MeuSubMenu = MeuMenu.Controls.Add(msoControlPopup, 1, , , True)
With MeuSubMenu
.Caption = "&Menu Item 4"
.BeginGroup = False
End With
With MeuSubMenu.Controls.Add(Type:=msoControlPopup)
.Caption = "&SubMenuItem"
With .Controls.Add(Type:=msoControlPopup)
.Caption = "SubItem 1"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 71
.Caption = "&Botão1"
.OnAction = "Copasmenor"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 487
.Caption = "Botão 2"
.OnAction = "Botão2"
End With
End With
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&SubItem 2"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 59
.Caption = "Botão3"
.OnAction = "Copasmaior"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 74
.Caption = "Botão4"
.OnAction = "Ouromaior"
End With
End With
End With
' Item romover do menu
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "&Remover este menu"
.OnAction = ThisWorkbook.Name & "!RemoveMenu"
.Style = msoButtonIconAndCaption
.FaceId = 67
.BeginGroup = True
End With
Set MeuSubMenu = Nothing
Set MeuMenu = Nothing
End Sub
Sub RemoveMenu()
On Error Resume Next
CommandBars.FindControl(Tag:="MeusMenus").Delete
End Sub
Sub primeiramacro()
MsgBox ("Você clicou no primeiro submenu")
End Sub
Sub segundamacro()
MsgBox ("Você clicou no segundo submenu")
End Sub
Sub terceiramacro()
MsgBox ("Você clicou no terceiro submenu")
End Sub
Sub botao1()
MsgBox ("Você clicou no botão 1")
End Sub
Segue a macro para remover automaticamente ao fechar a planilha.
Sub auto_close()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete
CommandBars.FindControl(Tag:="MeusMenus").Delete
Application.CommandBars(MinhaBarra).Delete
End Sub
BAIXE A PLANILHA EXEMPLO
VEJA A VÍDO AULA
Exemplificarei três formas diferentes de barras de menus.
Exemplo 01.
Neste Exemplo construí um menu do tipo ComboBox, que pelo qual, é possível navegar entre as abas da planilha ou selecionar item de uma lista disponível no excel. Segue a macro pronta.Sub Exemplo1()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete 'Deleta a barra
'Cria a barra e defiene os nomes
Set MinhaBarra1 = CommandBars.Add
MinhaBarra1.Name = "Barra_Planilhas"
MinhaBarra1.Visible = True
Set menu = MinhaBarra1.Controls.Add(msoControlComboBox) 'Defiene o tipo de menu
For i = 1 To Sheets.Count ' Faz a contagem das planilhas e adiciona ao ComboBox
menu.AddItem Sheets(i).Name
Next
menu.OnAction = "Navega_Plan" 'Macro que ira executar ao clicar em uma opção
menu.Text = "Seleciona Planilha" 'Texto a exibir no combobox
Set menu2 = MinhaBarra1.Controls.Add(msoControlComboBox)
Dim x As String
i = Range(Cells(1, 1), Cells(10, 1))
For i = 1 To (Cells(Rows.Count, 1).End(xlUp).Row)
x = Plan2.Cells(i, 1)
menu2.AddItem (x)
Next
menu2.OnAction = "Navega_Plan1"
menu2.Text = "Menu 2"
End Sub
Sub Navega_Plan()
Sheets(CommandBars("Barra_Planilhas").Controls(1).Text).Select
End Sub
Sub Navega_Plan1()
Dim y As String
y = (CommandBars("Barra_Planilhas").Controls(2).Text) 'Transfere o item do menu2 selecionado para avariavel Y.
MsgBox (y)
End Sub
Sub RemoveBarra()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete
End Sub
Exemplo 02.
Este exemplo cria uma barra de menus com botões de comando (ControlButton)Public Const MinhaBarra As String = "MinhaBarra"
Public Sub Exemplo2()
Dim Vbarra As CommandBar
Dim VBotoes As CommandBarButton
Dim menu As CommandBarPopup
On Error Resume Next
'Exclui a barra
Application.CommandBars(MinhaBarra).Delete
'Adiciona a barra de ferramentas com o nome de VBarra
Set Vbarra = CommandBars.Add(MinhaBarra, msoBarFloating)
With Vbarra
.Visible = True
End With
'Adiciona botões à barra de ferramentas
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.BeginGroup = True
.Caption = "Botão 1" 'Define o título do botão
.Style = msoButtonCaption 'Estilo do botão (texto, icone, ambos ...)
.OnAction = "macro1" 'Macro que executada ao clicar
.Visible = True 'Exibe ou oculta a barra
.Width = 390 'Define o tamanho do botão
.TooltipText = "Este é o botão 1" 'Define o texto de informação do botão
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 2"
.Style = msoButtonIconAndCaption
.FaceId = 444
.OnAction = "macro2"
.Visible = True
.Width = 200
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "Botão 3"
.Style = msoIcon
.FaceId = 17
.OnAction = "macro3"
.Visible = True
.Width = 50
End With
'Adiciona menus com figuras personalizadas
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 4"
.Style = msoButtonIconAndCaption
.OnAction = "macro4"
Plan2.Shapes("imagem1").Copy
.PasteFace
.TooltipText = "Este é o botão 4"
End With
Set VBotoes = Vbarra.Controls.Add(Type:=msoControlButton)
With VBotoes
.Caption = "&Botão 5"
.Style = msoButtonIconAndCaption
.OnAction = "macro5"
Plan2.Shapes("imagem2").Copy
.PasteFace
End With
End Sub
Public Sub DeletarBarra()
On Error Resume Next
Application.CommandBars(MinhaBarra).Delete
End Sub
Sub macro1()
MsgBox ("Você clicou no botão 1")
End Sub
Sub macro2()
MsgBox ("Você clicou no botão 2")
End Sub
Sub macro3()
MsgBox ("Você clicou no botão 3")
End Sub
Sub macro4()
MsgBox ("Você clicou no botão 4")
End Sub
Sub macro5()
MsgBox ("Você clicou no botão 5")
End Sub
Exemplo 03
Este exemplo cria um menu do tipo ControlPopup com sub menus.Option Explicit
Sub Exemplo3()
Dim MeuMenu, MeuSubMenu As CommandBarControl
On Error Resume Next
CommandBars.FindControl(Tag:="MeusMenus").Delete
' cria um novo menu
Set MeuMenu = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With MeuMenu
.Caption = "&Meu Menu"
.Tag = "MeusMenus"
.BeginGroup = True
.Visible = True
End With
If MeuMenu Is Nothing Then Exit Sub
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.FaceId = 71
.Caption = "&Menu Item1"
.OnAction = "primeiramacro"
End With
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "M&enu Item2"
.OnAction = "segundamacro"
End With
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.FaceId = 59
.Caption = "Menu Item 3"
.OnAction = "terceiramacro"
End With
' adiciona um menu
Set MeuSubMenu = MeuMenu.Controls.Add(msoControlPopup, 1, , , True)
With MeuSubMenu
.Caption = "&Menu Item 4"
.BeginGroup = False
End With
With MeuSubMenu.Controls.Add(Type:=msoControlPopup)
.Caption = "&SubMenuItem"
With .Controls.Add(Type:=msoControlPopup)
.Caption = "SubItem 1"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 71
.Caption = "&Botão1"
.OnAction = "Copasmenor"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 487
.Caption = "Botão 2"
.OnAction = "Botão2"
End With
End With
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&SubItem 2"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 59
.Caption = "Botão3"
.OnAction = "Copasmaior"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 74
.Caption = "Botão4"
.OnAction = "Ouromaior"
End With
End With
End With
' Item romover do menu
With MeuMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "&Remover este menu"
.OnAction = ThisWorkbook.Name & "!RemoveMenu"
.Style = msoButtonIconAndCaption
.FaceId = 67
.BeginGroup = True
End With
Set MeuSubMenu = Nothing
Set MeuMenu = Nothing
End Sub
Sub RemoveMenu()
On Error Resume Next
CommandBars.FindControl(Tag:="MeusMenus").Delete
End Sub
Sub primeiramacro()
MsgBox ("Você clicou no primeiro submenu")
End Sub
Sub segundamacro()
MsgBox ("Você clicou no segundo submenu")
End Sub
Sub terceiramacro()
MsgBox ("Você clicou no terceiro submenu")
End Sub
Sub botao1()
MsgBox ("Você clicou no botão 1")
End Sub
OBS:
Lembre-se de excluir os menus antes de fechar a planilha ou inserir uma rotina autoclose para isso. Caso você esquecer, estas barras ficarão visíveis em outras planilhas porem não funcionarão. Você ainda pode excluir clicando com o botão direito sobre o menu e escolher a opção excluir.Segue a macro para remover automaticamente ao fechar a planilha.
Sub auto_close()
On Error Resume Next
CommandBars("Barra_Planilhas").Delete
CommandBars.FindControl(Tag:="MeusMenus").Delete
Application.CommandBars(MinhaBarra).Delete
End Sub
BAIXE A PLANILHA EXEMPLO
VEJA A VÍDO AULA
domingo, 19 de outubro de 2014
Somar ou Contar valores entre datas excel
Na maioria das funções do Excel, para fazer uma comparação como por exemplo maior ou menor basta inserir os símbolos ">" ou "<". Porém para as funções CONT.SES e SOMASES não funciona.
Para que estas funções funcionem corretamente, devemos inserir os sinais de maior ou menor entre aspas e unir com a célula onde contem o critério.
Supondo tenhamos datas na coluna A e valores na B, e queremos somar os valores em um intervalo específico de datas.
Em C1 inserimos a data inicial e em C2 a data final. em qualquer outra célula inserimos a seguinte função: = CONT.SES(A:A; ">=" & C1;A:A;"<=" & C2) . Para a soma utilizamos esta função. = SOMASES(B:B;A:A;">="&D1;A:A;"<="&D2) . Lembrando que os valores inicial e final estão inclusos na contagem ou soma, caso queira excluir-los, basta retirar os sinais de " igual " do meio da função.
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
Veja a vídeo aula.
Baixe a planilha
sábado, 5 de julho de 2014
Abrir planilha com senha excel VBA
Olá. Vou disponibilizar uma macro para abrir planilhas com senha do excel através de outra planilha.
Basta inserir na macro o caminho e a senha do arquivo.
Sub abre_planilha()
Call Workbooks.Open(Filename:="D:\EXEMPLO\loja 1.xlsx", _
Password:="123", WriteResPassword:="456", ReadOnly:=True)
End Sub
Onde;
Password é a senha de proteção da planilha a ser aberta;
WriteResPassword é a senha de gravação;
ReadOnly é a forma de abertura da planilha, somente leitura ou leitura e gravação. Use "true" para somente leitura e "false" para leitura e gravação.
Quem ficou com dúvidas favor postar nos comentários.
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
Veja a Vídeo Aula
Basta inserir na macro o caminho e a senha do arquivo.
Sub abre_planilha()
Call Workbooks.Open(Filename:="D:\EXEMPLO\loja 1.xlsx", _
Password:="123", WriteResPassword:="456", ReadOnly:=True)
End Sub
Onde;
Password é a senha de proteção da planilha a ser aberta;
WriteResPassword é a senha de gravação;
ReadOnly é a forma de abertura da planilha, somente leitura ou leitura e gravação. Use "true" para somente leitura e "false" para leitura e gravação.
Quem ficou com dúvidas favor postar nos comentários.
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
Veja a Vídeo Aula
domingo, 29 de junho de 2014
Atualizar dados entre planilhas com senha excel vba
Ola, o codigo abaixo serve para atualizar dados ou links entre planilhas do excel protegidas por senha. Aquela janela chata que fica solicitando a senha toda vez que voçê abre a planilha, elimine-a com o codigo abaixo.
Primeiramente selecione a aba dados, clique em "editar links", na janela que se abre clique em "prompt de inicialização ..." e marque a opção "não exibir alertas e nao atualizar links automáticos"
No editor VBA, insira um comando auto_open e insira o código abaixo.
Sub Atualizar()
'A linha abaixo insere a senha e pressiona enter
Application.SendKeys ("123{ENTER}")
'Atualiza o link com a planilha no caminho abaixo
ActiveWorkbook.UpdateLink Name:="D:\EXEMPLO\Loja 1.xlsx", Type:= _
xlExcelLinks
'Deve ser inserido um comando esc entre cada link, quando temos mais do que um.
SendKeys "{esc}", True
Application.SendKeys ("123{ENTER}")
ActiveWorkbook.UpdateLink Name:="D:\EXEMPLO\Loja 2.xlsx", Type:= _
xlExcelLinks
end sub
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
VEJA A VIDEO AULA
Primeiramente selecione a aba dados, clique em "editar links", na janela que se abre clique em "prompt de inicialização ..." e marque a opção "não exibir alertas e nao atualizar links automáticos"
No editor VBA, insira um comando auto_open e insira o código abaixo.
Sub Atualizar()
'A linha abaixo insere a senha e pressiona enter
Application.SendKeys ("123{ENTER}")
'Atualiza o link com a planilha no caminho abaixo
ActiveWorkbook.UpdateLink Name:="D:\EXEMPLO\Loja 1.xlsx", Type:= _
xlExcelLinks
'Deve ser inserido um comando esc entre cada link, quando temos mais do que um.
SendKeys "{esc}", True
Application.SendKeys ("123{ENTER}")
ActiveWorkbook.UpdateLink Name:="D:\EXEMPLO\Loja 2.xlsx", Type:= _
xlExcelLinks
end sub
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
VEJA A VIDEO AULA
sábado, 5 de abril de 2014
Menu Suspenso Excel
Olá. Neste post vou explicar como criar um menu suspenso no excel utilizando o VBA. Este menu é também chamado de menu PopUp, onde podem ser inseridos vários sub menus e FaceId.
Segue duas macros diferentes que geram o menu suspenso, e no fim da página o link para download da planilha pronta.
Sub Jogos()
Application.CommandBars("Cell").Reset
Dim cbc As CommandBarControl
'Oculta todos os comandos do botão direito
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = False
Next cbc
'Adiciona um sub menu com o nome cartas
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Tabuleiro"
With Application.CommandBars("Cell").Controls("&Tabuleiro")
'Adiciona um sub menu com o nome xadrez
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 217
.Caption = "Xadrez"
.OnAction = "Xadrez"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 150
.Caption = "damas"
.OnAction = "damas"
End With
End With
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Eletronicos"
With Application.CommandBars("Cell").Controls("Eletronicos")
.BeginGroup = True
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 59
.Caption = "Vídeo Game"
.OnAction = "Vídeo_Game"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 574
.Caption = "Android"
.OnAction = "Android"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 69
.Caption = "&Windows"
.OnAction = "Windows"
End With
End With
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Cartas"
With Application.CommandBars("Cell").Controls("&Cartas")
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&Pretas"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 483
.Caption = "Espadas"
.OnAction = "Espadas"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 484
.Caption = "Paus"
.OnAction = "Paus"
End With
End With
' No submenu cartas adiciona o submenu vermelhas
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&Vermelhas"
' No submenu vermelhas adiciona o submenu menor que 5
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Menor que 5"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 481
.Caption = "Copas"
.OnAction = "Copasmenor"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 482
.Caption = "Ouro"
.OnAction = "Ouromenor"
End With
End With
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Maior que 5"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 481
.Caption = "Copas"
.OnAction = "Copasmaior"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 482
.Caption = "Ouro"
.OnAction = "Ouromaior"
End With
End With
End With
End With
'mostra o menu
Application.CommandBars("Cell").ShowPopup
'reset do menu
Application.CommandBars("Cell").Reset
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = True
Next cbc
End Sub
Sub Xadrez()
MsgBox "Você escolheu Xadrez ", , "Jogos"
End Sub
Sub damas()
MsgBox "Você escolheu damas ", , "Jogos"
End Sub
Sub Vídeo_Game()
MsgBox "Você escolheu Tablet ", , "Jogos"
End Sub
Sub Android()
MsgBox "Você escolheu Android ", , "Jogos"
End Sub
Sub Windows()
MsgBox "Você escolheu Windows ", , "Jogos"
End Sub
Sub Espadas()
MsgBox "Você escolheu Espadas ", , "Jogos"
End Sub
Sub Paus()
MsgBox "Você escolheu Paus ", , "Jogos"
End Sub
Sub Copasmenor()
MsgBox "Você escolheu Copas menor do que 5 ", , "Jogos"
End Sub
Sub Ouromenor()
MsgBox "Você escolheu Ouro menor do que 5 ", , "Jogos"
End Sub
Sub Copasmaior()
MsgBox "Você escolheu Copas maior do que 5 ", , "Jogos"
End Sub
Sub Ouromaior()
MsgBox "Você escolheu Ouro maior do que 5 ", , "Jogos"
End Sub
---------------------------------------------------------------------------------------------------------------
Sub MenuSuspenso()
Application.CommandBars("Cell").Reset
Dim cbc As CommandBarControl
'Oculta todos os comandos do botão direito
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = False
Next cbc
'Adiciona um comando ao menu suspenso
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Word"
.OnAction = "Word"
.FaceId = 42
End With
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Acces"
.OnAction = "Acces"
.FaceId = 264
End With
'Adiciona um comando ao menu suspenso
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Excel"
.OnAction = "Excel1"
.FaceId = 263
End With
Application.CommandBars("Cell").ShowPopup
Application.CommandBars("Cell").Reset
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = True
Next cbc
End Sub
Sub Word()
MsgBox "Voce selecionou Word ", , "MS Office''"
End Sub
Sub Acces()
MsgBox "Voce selecionou Acces ", , "MS Office''"
Sub Excel1()
MsgBox "Voce selecionou Excel ", , "MS Office''"
End Sub
End Sub
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
Baixar planilha
Caso o tenha problemas para baixar, solicite por e-mail: atualexcel@gmail.com
Segue duas macros diferentes que geram o menu suspenso, e no fim da página o link para download da planilha pronta.
![]() |
| Menu Suspenso/ Menu PopUp |
Sub Jogos()
Application.CommandBars("Cell").Reset
Dim cbc As CommandBarControl
'Oculta todos os comandos do botão direito
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = False
Next cbc
'Adiciona um sub menu com o nome cartas
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Tabuleiro"
With Application.CommandBars("Cell").Controls("&Tabuleiro")
'Adiciona um sub menu com o nome xadrez
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 217
.Caption = "Xadrez"
.OnAction = "Xadrez"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 150
.Caption = "damas"
.OnAction = "damas"
End With
End With
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Eletronicos"
With Application.CommandBars("Cell").Controls("Eletronicos")
.BeginGroup = True
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 59
.Caption = "Vídeo Game"
.OnAction = "Vídeo_Game"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 574
.Caption = "Android"
.OnAction = "Android"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 69
.Caption = "&Windows"
.OnAction = "Windows"
End With
End With
Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup).Caption = "Cartas"
With Application.CommandBars("Cell").Controls("&Cartas")
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&Pretas"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 483
.Caption = "Espadas"
.OnAction = "Espadas"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 484
.Caption = "Paus"
.OnAction = "Paus"
End With
End With
' No submenu cartas adiciona o submenu vermelhas
With .Controls.Add(Type:=msoControlPopup)
.Caption = "&Vermelhas"
' No submenu vermelhas adiciona o submenu menor que 5
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Menor que 5"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 481
.Caption = "Copas"
.OnAction = "Copasmenor"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 482
.Caption = "Ouro"
.OnAction = "Ouromenor"
End With
End With
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Maior que 5"
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 481
.Caption = "Copas"
.OnAction = "Copasmaior"
End With
With .CommandBar.Controls.Add(Type:=msoControlButton)
.FaceId = 482
.Caption = "Ouro"
.OnAction = "Ouromaior"
End With
End With
End With
End With
'mostra o menu
Application.CommandBars("Cell").ShowPopup
'reset do menu
Application.CommandBars("Cell").Reset
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = True
Next cbc
End Sub
Sub Xadrez()
MsgBox "Você escolheu Xadrez ", , "Jogos"
End Sub
Sub damas()
MsgBox "Você escolheu damas ", , "Jogos"
End Sub
Sub Vídeo_Game()
MsgBox "Você escolheu Tablet ", , "Jogos"
End Sub
Sub Android()
MsgBox "Você escolheu Android ", , "Jogos"
End Sub
Sub Windows()
MsgBox "Você escolheu Windows ", , "Jogos"
End Sub
Sub Espadas()
MsgBox "Você escolheu Espadas ", , "Jogos"
End Sub
Sub Paus()
MsgBox "Você escolheu Paus ", , "Jogos"
End Sub
Sub Copasmenor()
MsgBox "Você escolheu Copas menor do que 5 ", , "Jogos"
End Sub
Sub Ouromenor()
MsgBox "Você escolheu Ouro menor do que 5 ", , "Jogos"
End Sub
Sub Copasmaior()
MsgBox "Você escolheu Copas maior do que 5 ", , "Jogos"
End Sub
Sub Ouromaior()
MsgBox "Você escolheu Ouro maior do que 5 ", , "Jogos"
End Sub
---------------------------------------------------------------------------------------------------------------
Sub MenuSuspenso()
Application.CommandBars("Cell").Reset
Dim cbc As CommandBarControl
'Oculta todos os comandos do botão direito
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = False
Next cbc
'Adiciona um comando ao menu suspenso
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Word"
.OnAction = "Word"
.FaceId = 42
End With
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Acces"
.OnAction = "Acces"
.FaceId = 264
End With
'Adiciona um comando ao menu suspenso
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "Excel"
.OnAction = "Excel1"
.FaceId = 263
End With
Application.CommandBars("Cell").ShowPopup
Application.CommandBars("Cell").Reset
For Each cbc In Application.CommandBars("cell").Controls
cbc.Visible = True
Next cbc
End Sub
Sub Word()
MsgBox "Voce selecionou Word ", , "MS Office''"
End Sub
Sub Acces()
MsgBox "Voce selecionou Acces ", , "MS Office''"
Sub Excel1()
MsgBox "Voce selecionou Excel ", , "MS Office''"
End Sub
End Sub
Acesse a pagina inicial do blog e tenha acesso a todo o conteúdo disponibilizado
Baixar planilha
Caso o tenha problemas para baixar, solicite por e-mail: atualexcel@gmail.com
segunda-feira, 3 de março de 2014
PROCV E PROCH
O Excel permite fazer pesquisas baseadas em uma determinada lista de
dados, usando determinado argumento para retornar um valor
correspondente a ele. Sendo que a procura pode ser feita de duas
maneiras diferentes: procura vertical (colunas) ou procura horizontal
(linhas)
Para você definirmos qual das duas funções utilizar, obsrvamos na planilha como estão distribuídos os valores que poderão ser o resultado da busca: se os valores esiverem em colunas utilizamos a função PROCV, e se os valores estiverem em linhas utilizamos a função PROCH.
Onde:
Obs: O valor_procurado deve estar na primeira coluna ou na primeira linha do intervalo, caso contrário a pesquisa retornará erro.
No exemplo a seguir temos duas tabelas onde um contém o códio e o preço do produto e na outra temos a descrição e código , e que remos inserir o preço correspondente a cada produto na coluna H.
Exemplo:
valor_procurado: é a célula G3;
matriz_tabela: São as colunas B e C;
num_coluna: é 2, pois o intervalo começa na coluna B, sendo que os valores a serem retornados estão na coluna C, ou seja a segunda coluna da matriz;
procurar_intervalo: é 0 "zero", pois queremos o valor exato da pesquisa.
Clique em OK após finalizar.
VEJA A VIDEO AULA
Clique aqui para baixar a planilha
Função PROCH?
Esta função realiza uma pesquisa horizontalmente, ou seja ela faz a busca de um determinado argumento em linhas. O valor é procurado da primeira linha de uma lista de dados especificado por você em valor_procurado. Ela procura o número de linhas que você determinou em num_linha e retorna o valor que encontrar lá.
Exemplo
Aplicando a função PROCH na célula B12, onde ela irá avaliar a célula B11, e assim irá procurar este valor no intervalo B2:F9, e retornará o valor da linha 8 (Total) correspondente.
Usaremos o assistente de função para facilitar, clique em fx ou acesse o menu Inserir e clique no item Função

Baixe as planilhas
PROCV: Clique aqui para baixar a planilha
VEJA A VIDEO AULA
PROCH: Clique aqui para baixar a planilha
VEJA A VIDEO AULA
Para você definirmos qual das duas funções utilizar, obsrvamos na planilha como estão distribuídos os valores que poderão ser o resultado da busca: se os valores esiverem em colunas utilizamos a função PROCV, e se os valores estiverem em linhas utilizamos a função PROCH.
Sintaxes das funções PROCV E PROCH
- =PROCV(valor_procurado; matriz_tabela; num_coluna; procurar_intervalo)
- =PROCH(valor_procurado; matriz_tabela; num_linha; procurar_intervalo)
Onde:
- valor_procurado é o argumento que deseja fornecer como base para a procura ser feita;
- matriz_tabela é o intervalo onde se realizará a pesquisa;
- num_coluna ou num_linha é a coluna ou a linha que se deseja obter o resultado, considerando que as colunas e linhas são contadas a partir do intervalo estipulado em matriz_tabela;
- procurar_intervalo é a precisão da pesquisa, podendo ser exata ou por aproximação do valor desejado.
- Busca exata = 0
- Busca aproximada = 1
Obs: O valor_procurado deve estar na primeira coluna ou na primeira linha do intervalo, caso contrário a pesquisa retornará erro.
Função PROCV
A função PROCV pesquisa um valor da primeira coluna de uma lista de dados especificado por você em valor_procurado. Ela então procura o número de colunas que você determinou em num_coluna e retorna o valor que encontrar.No exemplo a seguir temos duas tabelas onde um contém o códio e o preço do produto e na outra temos a descrição e código , e que remos inserir o preço correspondente a cada produto na coluna H.
Na célula H3, inserimos a formula, Usaremos o assistente de função para facilitar, clique em fx ou acesse o menu Inserir e clique no item Função
VEJA A VIDEO AULA
Clique aqui para baixar a planilha
Função PROCH?
Esta função realiza uma pesquisa horizontalmente, ou seja ela faz a busca de um determinado argumento em linhas. O valor é procurado da primeira linha de uma lista de dados especificado por você em valor_procurado. Ela procura o número de linhas que você determinou em num_linha e retorna o valor que encontrar lá.
Exemplo
Aplicando a função PROCH na célula B12, onde ela irá avaliar a célula B11, e assim irá procurar este valor no intervalo B2:F9, e retornará o valor da linha 8 (Total) correspondente.
Usaremos o assistente de função para facilitar, clique em fx ou acesse o menu Inserir e clique no item Função
- valor_procurado: é a célula B11;
- matriz_tabela é o intervalo de B2:F9;
- num_linha: é 8, pois o intervalo começa na linha 2, e os valores a serem retornados estão na linha 9 (Total);
- procurar_intervalo: é 0 "zero", pois queremos o valor exato da pesquisa.
Baixe as planilhas
PROCV: Clique aqui para baixar a planilha
VEJA A VIDEO AULA
PROCH: Clique aqui para baixar a planilha
VEJA A VIDEO AULA
domingo, 2 de março de 2014
SOMASES NO EXCEL
Neste post vamos aprender pra que serve o como usar a função SOMASES do excel.
A função SOMASES é utilizada para soma condicionada, onde podemos somar valores com base em critérios pré estabelecidos. Esta função é similar a SOMASE onde pode-se somar valores com base em apenas um critério, na SOMASES podemos utilizar 127 intervalos e critérios.
A sintaxe da função SOMASES tem os seguintes argumentos:
intervalo_soma. Uma células ou um intervalo para somar, incluindo números ou nomes, intervalos ou referências de célula. Valores em branco e de texto são ignorados.
intervalo_critérios1. O primeiro intervalo no qual queremos avaliar os critérios associados.
critérios1. Os critérios no formato de um número, uma expressão, uma referência de célula ou um texto que define quais células no argumento intervalo_critérios1 serão adicionadas.
Os critérios e intervalos citados acima são obrigatórios os demais são opcionais são opcionais.
No exemplo vamos montar uma planilha para controle de faturamento dos pedidos, onde na plan1 temos todos pedidos com códigos, descrição e quantidade. Na plan2 temos os pedidos faturados, também com pedidos, códigos, descrição e quantidade.
De posse da tabela de dados, vamos motar a fórmula, basta inseir na célula F3 e copiar para baixo
![]() |
| Plan1_Todos os pedidos |
![]() |
| Plan2_Peiddos faturados |
![]() |
| SOMASES |
Baixar Planilha
Tutorial em video:
https://www.youtube.com/watch?v=8QoJEXXObwI
segunda-feira, 17 de fevereiro de 2014
OPERADORES DO EXCEL
Operadores de cálculos em fórmulas
Os operadores especificam o tipo de cálculo que você deseja efetuar nos elementos de uma fórmula.
O Microsoft Excel inclui quatro tipos diferentes de operadores de cálculo: aritméticos, de comparação, texto e referência.
1 - Os operadores aritméticos efetuam operações matemáticas básicas, como adição, subtração ou
multiplicação, combinam números e produzem resultados numéricos.
| Operador aritmético | Significado | Exemplo |
| +(sinal de adição) | Adição | 4+2 |
| – (sinal de subtração) | Subtração | 5-3 |
| * (sinal de multiplicação) | Multiplicação | 2*2 |
| / (sinal de divisão) | Divisão | 2/2 |
| % (símbolo de percentagem) | Percentagem | 60% |
| ^ (sinal de exponenciação) | Exponenciação | 5^2 |
2 - Os operadores de comparação comparam dois valores e retornam um valor lógico VERDADEIRO ou
FALSO
| Operador de comparação | Significado | Exemplo |
| = (sinal de igual) | Igual a | B3=E3 |
| > (sinal de maior ) | Maior do que | B3>E3 |
| < (sinal de menor) | Menor do que | B3<E3 |
| >= (sinal de maior ou igual) | Maior ou igual a | B3>=E3 |
| <= (sinal de menor ou igual) | Menor ou igual a | B3<=E3 |
| <> (sinal de diferente) | Diferente de | B3<>E3 |
3 - O operador de texto combina um ou mais valores de texto para produzir um único texto.
| Operador de comparação | Significado | Exemplo |
| & (E comercial) | Junta ou concatena dois ou mais valores e produz um único texto | "Ho"&"tel" Retorna Hotel |
4 - Os operadores de referência combinam intervalos de células para cálculos
| Operador
de comparação |
Significado | Exemplo |
| : (dois-pontos) | Operador de intervalo, que
produz uma referência a todas as células entre duas referências, incluindo as duas referências |
B5:B15 |
| ; (ponto-e-vírgula) | Operador de união, que combina
diversas referências em uma referência |
SOMA(B5:B6;B7:B8) |
| (espaço simples) | Operador de interseção, que
produz uma referência a células comuns a duas referências. Neste exemplo, a célula B7 é comum aos dois intervalos. |
SOMA(C5:C12 A5:D5) |
Um bom entendimento dos operadores citados acima facilita na hora de montar a fórmula no excel.
CRIAR GRÁFICO DINÂMICO NO EXCEL
Criar gráficos no excel pode parecer difícil, mas não é. Nesta postagem vamos aprender a criar um gráfico dinâmico, que se ajusta conforme a quantidade de valores que temos. Esiste várias maneiras de criar um gráfico dinâmico, a mais comum é através de tabela dinâmica. Neste exemplo usarei funções do excel para redimensionar o gráfico automaticamente.
No exemplo farei um gráfico com as despezas mensais durante um ano.
Primeiro precisamos criar a tabela de dados com os meses e os valores.
Os valores serão inseridos no gráfico através da função DESLOC, para facilitar usaremos uma célula vazia fora da tabela de dados e inserimos a função conforme abaixo. Precisamos uma para o eixo x (horizontal) e outra para o eixo y (vertical).
Onde:
Ref: É a referência das células que contém os valores, deve contemplar inclusive as células que ainda não tem valores, mas terão. Precisamos usar referencias fixas, para isso pressionamos a tecla F4.
Para o eixo x selecionamos as células que conterão os 12 meses, para o eixo y selecionamos as células que conterão os valores referentes aos 12 meses.
Lins: Usaremos zero.
Cols: Usaremos zero.
Altura: Se a tabela de valores for montada na horizontal deixamos vazio, se for na vertical, usamos uma formula que faça a contagem dos valores inseridos.
Altura: Se a tabela de valores for montada na vertical deixamos vazio, se for na horizontal, usamos uma formula que faça a contagem dos valores inseridos.
Agora precisamos nomear a serie com os valores, copiamos ela na barra de formulas e na guia Fórmulas clicamos em Gerenciador de nomes, na janela que abrir selecione novo.
Na guia inserir, inserimos um gráfico, e com o botão direito sobre o mesmo clicamos em selecionar dados. Na janela que abrir clicamos em adicionar.
Nome da série é o título do gráfico, pode ser uma referencia a uma célula ou um texto.
Valores da série: Iniciamos com = mais o nome da planilha com a extensão, seguida do ponto de exclamação, mais o nome da série do eixo y, no nosso caso: =Gráfico_Dinâmico.xlsx!Eixo_y
Repetimos o procedimento para o eixo horizontal, clicando em editar e inserindo o nome da série do eixo x.
Vídeo aula
No exemplo farei um gráfico com as despezas mensais durante um ano.
Primeiro precisamos criar a tabela de dados com os meses e os valores.
Os valores serão inseridos no gráfico através da função DESLOC, para facilitar usaremos uma célula vazia fora da tabela de dados e inserimos a função conforme abaixo. Precisamos uma para o eixo x (horizontal) e outra para o eixo y (vertical).
![]() |
| Função desloc |
Onde:
Ref: É a referência das células que contém os valores, deve contemplar inclusive as células que ainda não tem valores, mas terão. Precisamos usar referencias fixas, para isso pressionamos a tecla F4.
Para o eixo x selecionamos as células que conterão os 12 meses, para o eixo y selecionamos as células que conterão os valores referentes aos 12 meses.
Lins: Usaremos zero.
Cols: Usaremos zero.
Altura: Se a tabela de valores for montada na horizontal deixamos vazio, se for na vertical, usamos uma formula que faça a contagem dos valores inseridos.
Altura: Se a tabela de valores for montada na vertical deixamos vazio, se for na horizontal, usamos uma formula que faça a contagem dos valores inseridos.
Agora precisamos nomear a serie com os valores, copiamos ela na barra de formulas e na guia Fórmulas clicamos em Gerenciador de nomes, na janela que abrir selecione novo.
Na janela que abrir inserimos um nome e no campo refere-se a inserimos a formula que criamos. Faremos para o eixo x e o eixo y.
Na guia inserir, inserimos um gráfico, e com o botão direito sobre o mesmo clicamos em selecionar dados. Na janela que abrir clicamos em adicionar.
Nome da série é o título do gráfico, pode ser uma referencia a uma célula ou um texto.
Valores da série: Iniciamos com = mais o nome da planilha com a extensão, seguida do ponto de exclamação, mais o nome da série do eixo y, no nosso caso: =Gráfico_Dinâmico.xlsx!Eixo_y
Repetimos o procedimento para o eixo horizontal, clicando em editar e inserindo o nome da série do eixo x.
Ficará desta forma:
Basta clicar em ok que o gráfico estará pronto.
Veja que ao adicionarmos valores o gráfico se ajusta automaticamente.
Dúvidas, favor inserir nos comentários.
Segue o link para download da planilha com exemplo.
Vídeo aula
quinta-feira, 13 de fevereiro de 2014
O QUE É UMA PLANILHA ELETRÔNICA?
É um sistema constituído por uma tabela, composta de linhas e colunas, em que a interseção é chamada de celula, onde pode-se estipular valores, fórmulas e funções ou textos com possibilidades de serem manipuladas, para a obtenção dos resultados desejados.
À medida que se altera um valor da planilha, todos os cálculos que envolvem o valor alterado serão recalculados automaticamente.
À medida que se altera um valor da planilha, todos os cálculos que envolvem o valor alterado serão recalculados automaticamente.
Assinar:
Postagens (Atom)












.jpg)
.jpg)
.jpg)
.jpg)
.jpg)