Script / Macro no Excel, clicando em uma célula

2

Há algo que desejo fazer no Excel 2010. Especificamente, quero poder fazer com que a folha aberta carregue dados de um arquivo de texto, clicando em -importante- em uma célula da planilha aberta atual.

Então, minhas necessidades específicas são:

  1. Se for possível, de alguma forma, iniciar uma macro / script clicando em uma célula.

Sobre o script / macro:

  1. Qual seria a forma preferida, por sua opinião, de implementação?

  2. E mais especificamente, como importar automaticamente os dados necessários, apenas clicando, sem precisar especificar continuamente o desejável arquivo .txt a cada vez, apenas 1 vez no máximo, no início ou usando uma "inicialização" personalizada / configuration "file.

por Noob Doob 17.10.2013 / 16:07

2 respostas

2

Aqui está um exemplo muito específico que você pode adaptar às suas necessidades. É uma macro de evento de planilha que é acionada clicando duas vezes na célula B9 :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B9")) Is Nothing Then Exit Sub
Cancel = True
Dim TextLine As String
    Close #1
    Open "C:\TestFolder\test.txt" For Input As #1
    i = 1
    j = 0
    Do While Not EOF(1)
        Line Input #1, TextLine
            j = j + 1
            Cells(i, j) = TextLine
        Loop
    Close #1
End Sub

As alterações que você terá que fazer:

  1. a célula para clicar duas vezes é B9
  2. o filespec do arquivo de texto a ser aberto
  3. o destino dos dados importados

Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:

  1. clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
  2. selecione Exibir código - isso abre uma janela do VBE
  3. cole o material e feche a janela do VBE

Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.

Se você salvar a pasta de trabalho, a macro será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover a macro:

  1. abrir as janelas do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para saber mais sobre macros em geral, consulte:

link

e

link

Para saber mais sobre macros de eventos (código da planilha), consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 17.10.2013 / 17:26
0

Se não houver nenhum motivo urgente para que o clique da célula seja a ativação, o método mais simples seria criar um objeto de botão.


Vá para a guia Desenvolvedor, selecione Inserir e, em seguida, selecione o botão dos controles Active X


Emseguida,cliqueearrasteaformadobotão,cliquecomobotãodireitoeselecionePropriedades.

Apartirdaqui,vocêpodealterarcoisascomootextoexibidonobotãoeacordobotão.SevocêselecionarFormatarControleaoclicarcomobotãodireitoeirparaPropriedades,poderádefiniracaixaparanãomoverereziequandoascélulas/linhas/colunasforemalteradas.

Emseguida,cliquecomobotãodireitodomousenobotãoeselecioneViewCode-


Isso levará você para a janela de código onde você pode inserir seu VBA. Você é De lá, digite o resto do código de Gary do Dim TextLine.

Por fim, volte para a guia Desenvolvedor e deselcte o modo de design


Agora você pode testar o botão. Se você precisar fazer alguma alteração ou movê-la, basta selecionar novamente o Modo de Design.

    
por 17.10.2013 / 17:33