Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aprenda a inserir dados no Excel com o VBA Veja nesse artigo como inserir dados de Formulário no Excel com VBA. 0 Gostei (1) (0) CADASTRO DE CLIENTES Abra a Guia Desenvolvedor em seguida Abra o editor do Visual Basic. Na aba Propriedades no campo Caption digite: CADASTRO DE CLIENTES Crie Rótulos e caixas de textos para os campos: Nome:: TXTnome Endereço:: TXTEnd Telefone:: TXTTel e um botão para ação:: btnEnviar O formulário deverá ficar como a seguir: No Visual Basic digite: Sub cadastro() Sheets("cadastro").Select UserForm1.Show End Sub Digite o código abaixo dando duplo clique no btnenviar. Private Sub btnenviar_Click() Sheets("cadastro").Select 'posiciona o cursor na planilha cadastro ActiveCell.Offset(1, 0).Range("a1").Select 'cursor posicionado uma celula para baixo ( primeira em branco) End Sub. Para os campos receberem os valores digitados. A planilha aqui esta com o cursor posicionado na célula nomeada. Ela deve receber a informação digitada no controle conhecido como txtnome (caixa de texto do formulário) Veja como fica: ActiveCell.Value = Me.txtnome.Text 'a celula atual ter o seguinte valor Com esta linha a célula atual será capaz de receber o valor inserido no controle. Agora vamos posicionar o cursor na célula a direita , utilizando o método offset. ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita Note que o cursor receberá o conteúdo de um controle do formulário, desta vez o controle txtend. Crie o mesmo procedimento para txtend. ActiveCell.Value = Me.txtend.Text 'a celula atual ter o seguinte valor ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita Crie o mesmo procedimento para txttel. ActiveCell.Value = Me.txttel.Text 'a celula atual ter o seguinte valor ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita Nesta etapa seu código deverá estar assim: Insira o código abaixo, para que o seu cursor posicione na célula abaixo e limpe o formulário para nova digitação: ActiveCell.Offset(1, -3).Activate 'posiciona o cursor uma linha abaixo e 3 colunas a esquerda. Me.txtend = "" Me.txtnome = "" Me.txttel = "" Me.txtnome = SetFocus O código completo desta aplicação é: Rode a aplicação para testar. Espero ter ajudado Veremos-nos em Breve com mais Dicas de uso VBA Quelen Assis Formação em Tecnologia em Informatica pela UNICARIOCA , Certificado SQL/BI Microsoft Experience , • Certificada pela Microsoft em Developing Rich Experiences with Microsoft .NET Framework 3.0 and Visual Studio 2005 e Developing Ri [...] O que você achou deste post? Gostei (1) (0) Poste seu comentário Marcos Estevam De Sousa Faltou em minha opinião por parte do autor uma didatica mais passo a passo. Logo no inicio voce fica perdido pois não sabe se abre a primeira rotina em excel ou editor vba. Faltou tambem o resultado da compilação e os possiveis erros que podemos encontrar. [há +1 ano] - Responder Amigoelite Testei a aplicação e sempre esta dando erro em tempo de execução 9. aguardo. amigoelite. [há +1 ano] - Responder Aloncio Bom dia Marcos primeiro veja na planilha se a aba 1 vc colocou o nome de "cadastro",pois caso não, vai dar erro , na primeira rotina o programa pede ao excel que selecione a aba renomeada como "cadastro" e depois mostre a tela de cadastro. Private Sub Cadastro() Sheets("Cadastro").Select userform1.Show End Sub é so observar bem os detalhes do tutorial que dá certo assim fiz uma pequena correção no codigo do btnenviar_click() Private Sub btnenviar_Click() Sheets("cadastro").Select 'posiciona o cursor na planilha cadastro ActiveCell.Offset(1, 0).Range("a1").Select 'cursor posicionado uma celula para baixo ( primeira em branco) ActiveCell.Value = Me.Txtnome.Text 'a celula atual ter o seguinte valor ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita ActiveCell.Value = Me.Txtend.Text 'a celula atual ter o seguinte valor ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita ActiveCell.Value = Me.TxtTel.Text 'a celula atual ter o seguinte valor ActiveCell.Offset(0, 1).Activate 'posiciona o cursor uma célula para a direita 'ActiveCell.Offset(1, -3).Activate '<<essa linha causa um erro faz pular uma linha ActiveCell.Offset(0, -3).Activate '<< nessa linha troquei o 1 por 0, corrigindo o erro acima 'posiciona o cursor uma linha abaixo e 3 colunas a esquerda. Me.Txtend = "" Me.Txtnome = "" Me.TxtTel = "" Me.Txtnome = SetFocus End Sub [há +1 ano] - Responder Eves Santa Cruz Prezados Amigos, veja achei um exemplo muito bacana sobre cadastro no site www.microsoftexcel.com.br --- muito simplificado e objetivo, com boa performance. '- - - - - - - - - - Esses procedimentos do Aplicativo Microsoft Excel VBA, cadastra dados em determinada folha de Planilha, por meio de objetos textboxes. ' - - - - - - - - - - - - - - - - Private Sub cmdLANCAMENTO_Click() Dim vPALAVRA As Long vPALAVRA = Plan1.Range("A65536").End(xlUp).Row + 1 'localiza a última linha +1 (célula vazia) 'poderá criar um verifica inconsistência para todos os ítens abaixo. If txtNOME = "" Then MsgBox ("Preencha os dados corretamente") Exit Sub End If 'observe a simplicidade do código, localiza as ultimas linha/colunas e grava dados 'Plan1 - é o nome da folha de código da folha de planilha, se o usuário mudar o nome da folha de planilha na aba, 'não ocorrerá erro, porque referenciamos o nome da folha de código da folha de planilha. Plan1.Range("a" & vPALAVRA).Value = Me.txtNOME.Text Plan1.Range("b" & vPALAVRA).Value = Me.txtENDERECO.Text Plan1.Range("c" & vPALAVRA).Value = Me.txtBAIRRO.Text Plan1.Range("d" & vPALAVRA).Value = Me.txtCIDADE.Text Plan1.Range("e" & vPALAVRA).Value = Me.cboESTADO.Text Plan1.Range("f" & vPALAVRA).Value = Me.txtCEP.Text Plan1.Range("g" & vPALAVRA).Value = Me.txtTELEFONE.Text Plan1.Range("h" & vPALAVRA).Value = Me.txtOBSERVACAO.Text MsgBox ("Dados inseridos com sucesso"),vbInformation, "http://www.microsoftexcel.com.br" lblCONTADOR.Caption = vPALAVRA 'mostrando o próximo codigo cliente, cada gravação 'limpando as TextBox depois de ter gravado os dados na folha de planilha Me.txtNOME.Value = "" Me.txtENDERECO.Value = "" Me.txtBAIRRO.Value = "" Me.txtCIDADE.Value = "" Me.txtCIDADE.Value = "" Me.cboESTADO.Value = "" Me.txtCEP.Value = "" Me.txtTELEFONE.Value = "" Me.txtOBSERVACAO.Value = "" Me.txtNOME.SetFocus 'retornando o cursor para o TextBox (txtNOME) End Sub ' - - - - - - - - - - - - - - - - 'carregar a combobox com os estados ao inicializar, isto é ao abrir o formulário. Private Sub UserForm_Initialize() vPALAVRA = Plan1.Range("A65536").End(xlUp).Row + 1 ' numerar o proximo cadastro lblCONTADOR.Caption = vPALAVRA cboESTADO.List = Array("AC", "AL", "AP", "AM", "BA", "CE", "DF", "GO", "MA", "MG", "MT", _ "MS", "PA", "PB", "PR", "PE", "PI", "RJ", "RS", "RN", "RD", "SC", "SP", "SE", "TO") End Sub ' - - - - - - - - - - - - - - - - 'fechar o formulário na conclusão das tarefas Private Sub cmbSAIR_Click() Unload Me End Sub ' - - - - - - - - - - - - - - - - 'esse procedimento determina a localização de abertura do formulário na folha de planilha Private Sub UserForm_Activate() With frmCADASTRO .Top = Application.Top + 149 .Left = Application.Left + 30 End With 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. ' - - - - - - - - - - - - - - - - [há +1 ano] - Responder Leandro Martins De Mirada Caros, tenho um codigo que é bem simples e didatico. Private Sub CMD1_Click() '============================================================================================================================================================================================================== 'validando entradas '=============================================================================================================================================================================================================='nome If IsNumeric(nome) Then MsgBox "Campo não aceita Números", vbInformation nome.SetFocus End If If nome = "" Then MsgBox "Informe o nome", vbCritical nome.SetFocus Exit Sub End If 'Setor If IsNumeric(setor) Then MsgBox "Campo não aceita Números", vbInformation nome.SetFocus End If If setor = "" Then MsgBox "Informe o Setor", vbCritical setor.SetFocus Exit Sub End If 'Endereço If endereco = "" Then MsgBox "Informe o Endereco", vbCritical endereco.SetFocus Exit Sub End If 'Bairro If bairro = "" Then MsgBox "Informe o Bairro", vbCritical bairro.SetFocus Exit Sub End If 'Cidade If cidade = "" Then MsgBox "Informe o Cidade", vbCritical cidade.SetFocus Exit Sub End If 'Cep If Not IsNumeric(cep) Then MsgBox "Campo não aceita letra, apenas números", vbInformation nome.SetFocus End If If cep = "" Then MsgBox "Informe o Cep", vbCritical cep.SetFocus Exit Sub End If 'telefone If Not IsNumeric(telefone) Then MsgBox "Campo não aceita letra, apenas números", vbInformation telefone.SetFocus End If If telefone = "" Then MsgBox "Informe o telefone", vbCritical telefone.SetFocus Exit Sub End If 'contato If contato = "" Then MsgBox "Informe o Contato", vbCritical contato.SetFocus Exit Sub End If 'fax If Not IsNumeric(fax) Then MsgBox "Campo não aceita letra, apenas números", vbInformation fax.SetFocus End If If fax = "" Then MsgBox "Informe o Fax", vbCritical fax.SetFocus Exit Sub End If 'e-mail If email = "" Then MsgBox "Informe o E-mail", vbCritical email.SetFocus Exit Sub End If 'observações If obrservacoes = "" Then MsgBox "Informe as Observações", vbCritical obrservacoes.SetFocus Exit Sub End If '======================================================================================================================================================================================================== 'Procura linha '======================================================================================================================================================================================================== If Range("A2") = "" Then lin = 2 Else Range("A1").Select Selection.End(xlDown).Select lin = ActiveCell.Row + 1 End If '======================================================================================================================================================================================================== 'Cadastro '======================================================================================================================================================================================================== Cells(lin, 1) = nome Cells(lin, 2) = setor Cells(lin, 3) = endereco Cells(lin, 4) = bairro Cells(lin, 5) = cidade Cells(lin, 6) = uf Cells(lin, 7) = cep Cells(lin, 8) = telefone Cells(lin, 9) = contato Cells(lin, 10) = fax Cells(lin, 11) = email Cells(lin, 12) = obrservacoes MsgBox "Cadastro Realizado Com Sucesso!", vbInformation, "SUCESSO" Unload Me CADASTRO.Show End Sub '=========================================================================================================================================================================================================== 'limpa tela '=========================================================================================================================================================================================================== Private Sub CMD2_Click() Unload Me CADASTRO.Show End Sub '============================================================================================================================================================================================================ 'Fecha form '============================================================================================================================================================================================================ Private Sub CMD3_Click() Unload Me End Sub Leia mais em: Aprenda a inserir dados no Excel com o VBA http://www.devmedia.com.br/aprenda-a-inserir-dados-no-excel-com-o-vba/11761#ixzz2qTj7y3gi
Compartilhar