Excel VBA - Worksheet

  • - Acesso Livre (há alguns arquivos nesta categoria com restrição de acesso - faça o login ou Registre-se)
    Acesso Livre - Registrados (REGISTRE-SE!)
  • Documentos

    Ordenar por : Nome | Data | Acessos [ Ascendente ]

    excel vba inserir hiperlink navegar outras planilhas excel vba inserir hiperlink navegar outras planilhas

    popular!
    Adicionado em: 07/07/2013
    Modificado em: 07/07/2013
    Tamanho: Vazio
    Downloads: 957

    Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções

    Esses macros e procedimentos do Aplicativo MS Excel VBA(visual Basic Application), criam link para navegação pelas planilhas
    Primeiro Exemplo: Macros criam links para navegação, criam uma nova planilhas com lista de planilhas existentes e Hiperlinks
    Segundo Exemplo: Objeto Userform com Combobox, carrega lista de Planihas para selecionar ao escolher na combobox
    Terceiro Exemplo: cria uma item de menu uma combobox (lista suspensa) no menu principal, na aba suplementos excel 2010
    Abaixo os macros e procedimentos, no fim deste documento poderá baixar a folha de planiha exemplo>
    talvez possa ser útil
    Fique com Deus,
    Expedito Marcondes.
    http://www.microsoftexcel.com.br
    [email protected]

    ‘//==============’ 1º.) – PRIMEIRO EXEMPLO DE COMO NAVEGAR PELAS PLANILHAS
    'esse macro do aplicativo MS Excel VBA, cria uma planilha no inicio do livro, 'insere uma lista de todas as planilhas'desloca uma coluna e insere um link para 'a navegação entre as planilhas
    'criará sempre uma nova planilha com links
    ‘//==============’
    Const s = "Planilha Principal deletada com sucesso"
    Const a = vbInformation
    Const b = "Escola Saberexcel VBA Estudos®"
    ‘//==============’
    Sub sbx_lista_planilhas_links()
    Application.ScreenUpdating = False
    Set nWkt = Sheets.Add(Before:=Sheets(1))
    On Error GoTo sbxERROR
    sbxPROC:
    nWkt.Name = "PRINCIPAL"

    [A1] = "LISTA DE PLANILHAS ACESSO LINK"
    [A1:D1].Interior.ColorIndex = 6
    With Selection.Font .Bold = True
    .Size = 12
    End With
    For i = 2 To Sheets.Count
    nWkt.Cells(i, 1).Value = Sheets(i).Name
    With Worksheets(nWkt.Name)
    ActiveSheet.Hyperlinks.Add Anchor:=.Cells(i, 2), _
    Address:="", ScreenTip:="Escola SaberExcel VBA Estudos® " & "[ Acesse - " & Sheets(i).Name & "]", SubAddress:=Sheets(i).Name & "!A1", _ TextToDisplay:="HiperLink para: [ " & Sheets(i).Name & " ]"
    End With
    Next i
    With Rows("1:1")
    .RowHeight = 40
    .VerticalAlignment = xlCenter
    End With
    [E2].Activate
    ActiveWindow.DisplayGridlines = False
    Exit Sub

    sbxERROR:
    Application.DisplayAlerts = False
    Sheets("PRINCIPAL").Delete
    Application.DisplayAlerts = True
    GoTo sbxPROC
    End Sub
    ‘//==============’
    Sub sbx_deletar_teste()
    On Error GoTo sbx
    Application.DisplayAlerts = False
    Sheets("PRINCIPAL").Delete
    Application.DisplayAlerts = True
    MsgBox s, a, b
    Exit Sub
    sbx: resp = MsgBox("tem que criar a planiha 'PRINCIPAL' primeiro", vbYesNo + vbCritical, "Escola Saberexcel VBA Estudos®")
    If resp = 6 Then ‘6 = Sim , 7 = Nao
    sbx_lista_planilhas_links
    Else
    Exit Sub
    End If
    End Sub
    ‘//==============’
    Sub abrir_userform()
    usfSELPLAN.Show
    End Sub
    ‘//==============’ visualizar os macros (VBE - Visual Basic Editor)
    Sub sbx_visualizar_macros()
    Application.Goto reference:="sbx_lista_planilhas_links"
    End Sub
    ‘//==============’ 2º.) – SEGUNDO EXEMPLO DE COMO NAVEGAR PELAS PLANILHAS
    Esses procedimentos usando objeto Userform, abrirá em uma posição pre-definida pelo código,e carregará uma combobox com a Lista de Planilhas
    xistente no Livro. Ao Ativar o Objeto Userform a Instrução Sendkeys Abrirá Automaticamente a lista de Planilhas ficando suspensa.
    E a titulo também de Treinamento com VBA(Visual Basic Application), fiz uma instrução for para colorircom cores aleatórias as Abas de todas as Folhas de Planilhas.
    Private Sub combobox1_Click()
    Sheets(ComboBox1.Value).Select
    For i = 1 To Sheets.Count
    x = Int(Rnd * 55) + 1
    ActiveWorkbook.Sheets(i).Tab.ColorIndex = x
    Next i
    End Sub
    ‘//============’ carregar o Objeto Combobox ao Iniciar o Objeto Userform.
    Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    For Each ws In Worksheets
    If Worksheets(ws.Name).Visible = True Then
    ComboBox1.AddItem ws.Name
    End If
    Next ws
    End Sub
    ‘//==========’
    ao Ativar o Objeto Userform, os códigos abrira o objeto em posição determinada pelo pelos
    códigos
    Private Sub UserForm_Activate()
    With usfSELPLAN
    .Top = Application.Top + 150 'posição topo
    .Left = Application.Left + 31 'Posição esquerda
    End With
    SendKeys "%{down}"Instrução Senkeys para abrir automaticamente a combobox
    End Sub

    ‘//==============’ 3º.) – TERCEIRO EXEMPLO DE COMO NAVEGAR PELAS PLANILHAS
    Esse procedimento do Aplicativo MS Excel VBA(Visual Basic Application), inserirá um item de Menu,
    na barra de Ferramentas principal do seu Aplicativo (no Excel 2010) será na Aba Suplementos.
    Cria uma Combobox(Lista) suspensa com a lista de Planihas, e seleciona planiha desejada ao clicar.
    //==============’ deletar o item de Menu(ListaPlanilha)
    Sub Auto_Open()
    On Error Resume Next
    CommandBars("Planilhas_Saberexcel").Delete
    Set vBarra = CommandBars.Add
    vBarra.Name = "Planilhas_Saberexcel"
    vBarra.Visible = True
    Set vMenu = vBarra.Controls.Add(msoControlComboBox)
    For i = 1 To Sheets.Count
    vMenu.AddItem Sheets(i).Name
    Next
    vMenu.OnAction = "Seleciona_Planilha"
    vMenu.Text = "Selecionar Escolha"
    End Sub
    //==============’ deletar o item de Menu(ListaPlanilha)
    Sub auto_close()
    On Error Resume Next
    CommandBars("Planilhas_Saberexcel").Delete
    End Sub
    //==============’ Selecionar a planilha e gerar cores aleatórias para todas as folhas de planilhas
    ‘observe que criei um loop a titulo de estudos com vba, para aqueles que nao conhecem,
    ‘para colorir as abas de planilhas com cores aleatórias ao escolher escolher a planilha desejada
    ‘na combobox.
    Sub Seleciona_Planilha()
    Sheets(CommandBars("Planilhas_Saberexcel").Controls(1).Text).Select
    For i = 1 To Sheets.Count
    x = Int(Rnd * 55) + 1
    ActiveWorkbook.Sheets(i).Tab.ColorIndex = x
    Next i
    End Sub


    Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.

    Excel planilhas macros habilita ou desabilita menu aba Excel planilhas macros habilita ou desabilita menu aba

    popular!
    Adicionado em: 01/11/2012
    Modificado em: 01/11/2012
    Tamanho: Vazio
    Downloads: 1306
    Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções

    Esses macros habilitam e ou desabilitam o menu suspenso que cria ao selecionar
    a aba de uma determinada folha de planilha para uma ação qualquer.
    Escola Saberexcel VBA Estudos®
    Treinamentos com Macros, Fórmulas e Funções
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ALUNOS INICIANTES - CUIDADO NA DESABILITAÇÃO DE MENUS E BARRAS -"DESAFAÇAM AS AÇÕES AO FECHAR O LIVRO"
    Geralmente quando um aluno esta começando a aprender Visual Basic Application, ele se encanta com os sistemas de proteção de planilha, nada contra, como prática tudo bem, mas ai ele usa declarações do visual basic, para retirar barras, desabilitar tudo, desabilita o menu suspenso das abas, enfim faz tudo que pode para dizer que seu projeto esta protegido. Mas esquece de voltar esse processo, isto é habilitar tudo novamente quando o usuário sair da planilha, usando o evento Private Sub Workbook_BeforeClose(Cancel As Boolean) ai deixa o usuario completamente arrependido de ter aberto a planilha. Pois ai começa a Saga do Usuario arrependido, pedindo pelo amor de Deus, para alguem ajudar a voltar os funcionamentos da planilha. Eu aconselho ao pessoal que esta aprendo, a praticar sim, protegendo, visualizando resultados, mas retirar barras, menus, desabilitar um monte de coisa da planilha de quem não sabe desfazer essas ações. DEVE TER MAIS ATENÇÃO PARA ESSE TIPO PROTEÇÃO, PARA NAO PREJUDICAR SEU USUÁRIO, que com certeza vai te xingar d+ e, é de Filho da P ... para cima, então CUIDADO!.
    Aqui estou postando uma planilha muito útil para esse tipo de coisa, esse macro desabilitará e habilitará os menus suspensos relativos a abas
    do Botão direito do Mouse. Acho que é uma boa voce guardar ou a planilha ou o macro para uma ocasião de necessidade.
    Fiquem com Deus,
    Expedito Marcondes
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - --
    - -
    Sub sbx_habilita_bt_direito_mouse()
    For Each menu_suspensos In Application.CommandBars
    If menu_suspensos.Name <> "Cell" Then
    menu_suspensos.Enabled = True
    End If
    Next
    'Application.Caption = "Aprenda Microsoft Excel VBAl"
    'ActiveWindow.Caption = "Escola Saberexcel VBA Estudos®"

    Saber1.Shapes("hb").Visible = False '//======' invertendo
    Saber1.Shapes("des").Visible = True
    Saber1.[E11].Value = "'<<<< menu suspenso abas de planilhas [-H-A-B-I-L-I-T-A-D-O-!!!!] >>>>"
    End Sub
    '- - - - - - - - - - - - - - - - - - - -
    Sub sbx_desabilita_bt_direito_mouse()
    '//========='criei variavel [menu_suspensos] membro Aplication.CommandBars
    For Each menu_suspensos In Application.CommandBars
    If menu_suspensos.Name <> "Cell" Then
    menu_suspensos.Enabled = False
    End If
    Next
    '//=========' aqui é somente para mostrar ou ocultar os botões na folha de planiha
    '//=========' observe que eu sempre uso o nome de (código da folha de planilha) e não o nome da [folha planilha]

    Saber1.Shapes("hb").Visible = True
    Saber1.Shapes("des").Visible = False
    Saber1.[E11].Value = "'<<<< MENU SUSPENSO ABAS PLANILHAS BT DIREITO MOUSE [DESABILITADO] >>>>"
    End Sub
    '- - - - - - - - - - - - - - - - - - - -

    '//==========' shapes = autoformas
    Sub visualizando_dois_shapes()
    Saber1.Shapes("hb").Visible = True
    Saber1.Shapes("des").Visible = True
    End Sub


    Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.



    Excel planilha vba renomeando aletoriamente Excel planilha vba renomeando aletoriamente

    popular!
    Adicionado em: 24/03/2011
    Modificado em: 24/03/2011
    Tamanho: Vazio
    Downloads: 865

    Saberexcel - site das macros

    Esses macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), insere um nome à folha de planilha(Plan2), com auxílio de uma entrada de dados inputbox, e a segunda macro renomeia a folha de planilha baseados em fórmulas existente na célula(F12), que a função Aleatório() do aplicativo Excel gerará na célula(F2). O macro abaixo contém a linha de código SendKeys que aciona a tecla (F9) que automaticamente gerará um novo nome aleatorio para a folha de planilha.

    Sub Renomeando_planilha_plan2()
    Dim vNome As String
    [A2:c1000].ClearContents
    vNome = InputBox("Digite o nome para nova Planilha?")
    If vNome <> "" Then
    'Sheets.Add Type:=xlWorksheet
    Saber2.Name = vNome
    End If
    End Sub

    vamos fazer um Teste, usar partes do mesmo macro acima, construindo outro macro que faz a mesma coisa, porém com algumas pequenas modificações, renomeia uma folha de planilha com nomes aleatórios gerado pela fórmula na célula(F12), que contém a função Aleatório().
    Espero que o exemplo lhe seja útil. Fique com Deus. E_Marcondes

    Sub Renomear_com_nomes_Aleatorios()
    Dim sbx As String

    Application.SendKeys "+{F9}" 'muda o valor aleatorio da célula f12
    sbx = [F12].Value
    'sbx = InputBox("Digite o nome para nova Planilha?")
    If sbx <> "" Then
    'Sheets.Add Type:=xlWorksheet
    Saber2.Name = sbx
    End If
    [c2:c1000].ClearContents
    [A65000].End(xlUp).Offset(1, 0).Value = sbx 'localiza ultima linha e insere valor gerado cel(F12)
    [A65000].End(xlUp).Offset(0, 2).Value = "Planilha Atual"
    [A65000].End(xlUp).Offset(0, 2).Font.ColorIndex = 3
    End Sub

    Sub Limpar_teste()
    [A2:c6000].ClearContents
    End Sub




    Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel





    Publicidade
    Compre com segurança, garantia e ótimos preços
    Eletrônicos - Submarino.com.br

    Excel planilha vba mostrar todas planilhas dos livros abertos Excel planilha vba mostrar todas planilhas dos livros abertos

    popular!
    Adicionado em: 01/01/2012
    Modificado em: 01/01/2012
    Tamanho: Vazio
    Downloads: 791

    Escola Saberexcel VBA Estudos® - Treinamento com Macros, Fórmulas e Funções:

    Esse macro relaciona todas as planilhas em todos os livros abertos mesmo a planilha estiver com os códigos vba protegidos, relacionará todas
    as planilhas existente em um novo livro, isto é: todas folhas de planiha de todos os livros abertos.
    e o total de linhas usadas na coluna(c) em todas as folhas de planilhas dos livros abertos.

    ' - - - - - - - - - - - - - - - -
    Sub RELACIONAR_PLANILHAS_LIVROS_ABERTOS()
    Dim LinCol As Long, lr As Long, lr2 As Long
    Dim c As Range, vNovoLivro As Workbook, r As Range
    Dim vDir As String, sh As Worksheet, wb As Workbook

    Set vNovoLivro = Workbooks.Add

    For Each wb In Application.Workbooks
    If wb.Name <> vNovoLivro.Name Then

    For Each sh In wb.Worksheets
    LinCol = 0
    lr = Saber1.Cells(Rows.Count, 3).End(xlUp).Row

    '- - - - - -' verifica existencia palavra saberexcel '- - - - -'
    Set c = sh.Cells.Find("Saberexcel", LookIn:=xlValues)
    ' Set c = Cells.Find("Saberexcel", LookIn:=xlValues) 'mostra somente da planiha ativa
    If Not c Is Nothing Then
    Set r = sh.Range("C" & c.Row + 1 & ":C" & lr)
    LinCol = r.Rows.Count
    pe = r.Address
    End If

    'var lr2 para o novo livro criado: Primeira planilha(1)
    With vNovoLivro.Sheets(1)
    lr2 = vNovoLivro.Sheets(1) _
    .Cells(Rows.Count, 1).End(xlUp).Row

    'ajustando o tamanho da coluna(A)
    .Columns("A:C").AutoFit

    'inserindo um cabeçalho na nova planiha
    .Range("A1").Value = "NOME DO ARQUIVO"
    .Range("B1").Value = "NOME DA FOLHA PLANILHA"
    .Range("C1").Value = "LINHAS USADAS"

    If .Range("A2") = "" Then
    .Range("A2") = wb.Name
    .Range("B2") = sh.Name
    .Range("C2") = LinCol
    Else
    .Range("A" & lr2 + 1) = wb.Name
    .Range("B" & lr2 + 1) = sh.Name
    .Range("C" & lr2 + 1) = LinCol
    End If

    End With
    Next
    End If
    Next

    End Sub


    Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.





    Excel planilha vba laudo aterramento change Excel planilha vba laudo aterramento change

    popular!
    Adicionado em: 26/11/2011
    Modificado em: 26/11/2011
    Tamanho: Vazio
    Downloads: 4593


    Saberexcel - o site de quem precisa Aprender Macros Microsoft Excel VBA

    Esse procedimento do Aplicativo Microsoft Excel VBA com Evento Worksheet_Change é sensibilizado ao digitar. Muda automaticamente o conteudo de outra célula, auxiliado pelo combobox lista suspensa validação de dados.
    veja que existe duas condições para que o evento realize a tarefa ao digitar, a célula ativa tem que ser a célula(M18) e também não haja nenhuma seleção realizada. Baixe o exemplo de planilha no final da página.

    Espero que gostem do exemplo. fique com Deus.
    Expedito Marcondes
    '- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Duvida: Sr. Marcondes, preciso um macro que ao digitar em determinada célula o mesmo valor seja automaticamente inserido em outra célula.
    Prezada Cristina, veja o procedimento abaixo, fará exatamente o que voce está precisando.
    Fique com Deus, Expedito Marcondes.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$M$18" And Target.Count = 1 Then
    [E18].Value = Target.Value
    End If

    If Target.Address = "$M$19" And Target.Count = 1 Then
    [E19].Value = Target.Value
    End If

    End Sub



    Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.






    Página 6 de 7

    PROMOÇÃO DIDÁTICOS SABEREXCEL



    Adquira já o Acesso Imediato
    à Area de Membros

    Compra Grantida --- Entrega Imediata

    Aprenda Excel VBA com Simplicidade de 
    códigos e Eficácia, Escrevendo Menos e
    Fazendo Mais.

    '-------------------------------------'
    Entrega Imediata:
    +  500 Video Aulas MS Excel VBA
    +  35.000 Planilhas Excel e VBA
    +  Coleção 25.000 Macros MS Excel VBA
    +  141 Planilhas Instruções Loops
    +  341 Planilhas WorksheetFunctions(VBA)
    +    04 Módulos Como Fazer Excel VBA
    +  Curso Completo MS Excel VBA
    +  Planilhas Inteligentes


    Pesquisa Google SaberExcel

    Publicidade Google

    <script type="text/javascript"><!--

    google_ad_client = "ca-pub-2317234650173689";

    /* retangulo 336 x 280 */

    google_ad_slot = "0315083363";

    google_ad_width = 336;

    google_ad_height = 280;

    //-->

    </script>

    <script type="text/javascript"

    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

    </script>

    Publicidade

    RSFirewallProtected


    Google Associados

    Depoimentos

    Adicione Saberexcel Favoritos

     
     

    Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

    Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


       Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA