linguagem de script do Microsoft Excel, Visual Basic, não só aumenta a funcionalidade do Excel, mas também pode fazer essa funcionalidade mais fácil de usar - por meio de formulários do usuário . Formulários de usuário são pequenas janelas que os usuários podem inserir dados da planilha através . Criar o formulário
Começar a criar um formulário de usuário , inserindo o IDE do Visual Basic ( ambiente de desenvolvimento integrado ) : a partir da planilha, pressione "alt" Excel - " F11 " . Criar um novo formulário do usuário , acessando "Inserir "> " UserForm "
Arraste e solte os seguintes controles da caixa de ferramentas para o formulário : . Duas caixas de texto , o segundo abaixo da primeira. Adicionar um botão de comando abaixo das caixas de texto e dois controles de rótulo , cada um à esquerda de uma caixa de texto. Na janela de propriedades , altere a legenda do rótulo superior ao "Nome ", ea legenda do rótulo inferior para " Endereço de email ". Altere a legenda do botão de " Enviar".
Digite o Código
Agora escrever o código que puxa os dados do formulário e insere -lo em uma planilha.
da janela do designer de formulário , clique duas vezes no botão "Enviar" . O cursor move-se para o evento Button1_Click , que é acionado quando o botão é clicado durante a execução do programa
No evento Button1_Click , digite o seguinte código do programa : .
Dim r Como Faixa
Definir r = Range (" A65536 " ) . End ( xlUp )
Set r = r.Offset (1 , 0)
r.Value = TextBox1.Value
Definir r = r.Offset ( 0, 1) = r.Value TextBox2.Value - ----------------------------- -----------
Escrever uma pequena sub-rotina que exibe o novo formulário do usuário . Dentro do IDE, clique duas vezes no ícone EsteLivro no painel Projeto. Na janela de código , digite este novo sub-rotina :
Public Sub mac1 () UserForm1.Show
End Sub
Execute o programa de folha de cálculo Excel , indo para desenvolvedor> Macros , selecionar " mac1 ", e pressionar o botão " Run" . Insira alguns dados da planilha com o formulário de usuário.
Conheça o Programa
A primeira linha de Button1_Click declara uma variável de intervalo . Uma série é um conjunto de células da planilha . . . Você vai inserir dados nesse intervalo com o código a seguir a instrução Dim
a instrução Set r = Range (" A65536 ") End ( xlUp ) define um conjunto de uma célula : a célula mais à esquerda da linha anterior de dados. Este não é um pedaço de código intuitiva para o futuro, então não se preocupe se você não entender à primeira vista. Quebra-se a declaração para ver como ele funciona . A parte Range (" A65536 " ) especifica claramente a célula A65536 - forma na parte inferior da primeira coluna na planilha. A próxima peça , End ( xlUp ) , é outro intervalo : é onde o cursor iria acabar se você tivesse inicialmente em células A65536 , pressionou a tecla fim, e em seguida, pressionou a seta para cima
Se você fosse . para inserir dados em que a célula , você substituir a linha anterior. É por isso que você precisa da seguinte declaração : Set r = r.Offset (1 , 0). Essa declaração redefine o intervalo a ser uma linha para baixo ( e zero colunas à direita ), de onde era. A faixa de "r" está agora na primeira célula em branco abaixo as linhas de dados existentes . É aí que o código pode começar a introduzir uma nova linha de dados.
Enchimento de dados nas células de entrada de formulário
As demonstrações próximos mover os dados do formulário para a faixa de seu código, logo identificado como as primeiras células vazias abaixo da linha de dados anterior. r.Value = TextBox1.Value define o valor da célula vazia com o valor da primeira caixa de texto . A próxima célula é uma coluna para a direita, e Set r = r.Offset ( 0, 1) redefine o intervalo a ser essa célula . Os argumentos 0 e 1 se referem a 0 linhas para baixo e uma célula à direita de ( "r" ) a localização do intervalo anterior.
Preenchendo as duas colunas completa uma linha de dados . Quando o usuário clica no botão , o evento Button1_Click será executado novamente. O conjunto r = Range (" A65536 " ) . End ( xlUp ) será mais uma vez configurado corretamente o alcance da nova linha.