Como transferir dados do UserForm para uma planilha |
Por Cathlene S. Baptista Atualizado em 17 abril, 2017 Traduzido por Cezar Rosa
UserForms, também chamados de "caixas de diálogo", são janelas gráficas que permitem aos usuários preencher informações em campos e inserir tais dados em planilhas do Excel. Um UserForm é embutido no Excel e executado quando abre-se um arquivo Excel, normalmente através de uma macro. Devido aos UserForms tomarem vantagem da linguagem Visual Basic, podem ser customizados para garantir que os dados informados em seus campos sejam completos e válidos antes de transferi-los para uma planilha do Excel.
UserForms do Excel são uma excelente maneira de garantir a entrada de dados válidos e limpos (binary data image by rgbspace from Fotolia.com)
Como transferir dados de um UserForm para uma planilha
Abra o Excel e crie uma nova planilha, clicando no item "Arquivo" e selecionando "Novo". Salve o arquivo como "planilha_atualizada.xls".
Mantenha a planilha aberta e inicie o editor Visual Basic, pressionando "Alt"+"F11". Crie um novo UserForm, clicando no menu "Inserir" e selecionando "UserForm". Nomeie o UserForm para "transferForm", alterando o atributo "Name" no menu de propriedades. Mude o atributo "Caption" para "transferForm".
Adicione uma caixa de texto ao formulário selecionando-a na caixa de ferramentas, arrastando-a e soltando-a no formulário. Nomeie a caixa de texto como "transferInput", na janela de propriedades. Se a caixa de ferramentas não estiver aberta, vá em "Exibir" e em "Caixa de ferramentas".
Adicione um botão de atualização ao formulário. Selecione um "Botão de comando" da caixa de ferramentas, arraste-o e solte-o no formulário. Nomeie o botão de comando para "transferButton" na janela de propriedades e mude o atributo "Caption" para "Atualizar Planilha".
Adicione ao formulário um botão para fechar. Selecione um segundo "Botão de comando" da caixa de ferramentas, arraste-o e solte-o no formulário. Nomeie o botão de comando como "closeButton" na janela de propriedades e mude o atributo "Caption" para "Fechar Formulário".
Abra o editor Visual Basic, clicando duas vezes no botão "transferButton" (botão de atualização). Insira o código a seguir na função "transferButton_click()", que irá transferir qualquer informação preenchida na caixa de texto para a planilha "planilha_atualizada.xls" quando o usuário clicar no botão. Feche o editor de código.
Private Sub transferButton_Click() Dim transferWorksheet as Worksheet Set transferWorksheet = Worksheets("Sheet1") transferWorksheet.Cells(1,1).Value = Me.transferInput.Value End Sub
Reabra o editor de código Visual Basic clicando duas vezes no botão "closeButton" (botão de fechar). Insira o seguinte código na função "closeButton_Click()", que fechará o formulário quando o usuário clicar no botão. Feche o editor de código.
Private Sub closeButton_Click() Unload Me End Sub
Execute o código do formulário clicando em "Executar" e então "Executar Sub/UserForm". Preencha o campo de texto e clique no botão "transferButton". Verifique se os dados foram corretamente transferidos para a primeira célula na planilha. Salve e feche o UserForm.
Utilize um procedimento de evento do Excel para abrir o UserForm quando um usuário abrir a planilha. Abra o "Project Explorer" e clique duas vezes na janela de código "EstaPasta_de_trabalho". Insira a macro abaixo, que irá abrir o formulário quando a planilha for aberta. Salve e feche o Visual Basic.
Private Sub Workbook_Open() transferForm.Show End Sub
Reabra o arquivo "planilha_atualizada.xls". O formulário irá abrir. Digite algum texto no campo e clique no botão "transferButton". O texto preenchido no formulário será transferido para a primeira célula da planilha.
Para abrir a janela de propriedades ou o Project Explorer, selecione os itens do menu "Exibir", no editor Visual Basic.
Para redimensionar os controles adicionados no formulário, utilize os pequenos quadrados que aparecem quando o controle está selecionado.