Software  
 
Conhecimento computador >> Software >> Microsoft Access >> 
Excel Avançado VBA Tutorial
linguagem de script do Microsoft Excel, Visual Basic for Applications, tem muitas ferramentas para estender as funcionalidades padrão do Excel. Uma dessas ferramentas é a capacidade de adicionar controles ( como caixas de verificação e botões) diretamente em planilhas. Usando controles do Visual Basic e sua capacidade de tocar em funções essenciais do Excel faz para um tutorial eficaz na melhoria do Excel através do Visual Basic for Applications. Projeto: O uso do Visual Basic para Subtotais Calcule

realizar um projeto de computação subtotais para as colunas de uma tabela planilha. Comece abrindo o Excel e criar uma tabela em qualquer lugar na planilha. A tabela inicialmente se parece com a tabela na Figura 1 .

Selecione a tabela, incluindo os cabeçalhos de coluna, e criar o nome " mytab " para esta tabela . Criar o nome digitando-o na caixa de nome do Excel , que é em direção ao canto superior esquerdo da área de trabalho do Excel.
Adicionar controles do Visual Basic

Adicione caixas de seleção para a mesa , com cada caixa sentado acima de uma coluna da tabela. Você pode encontrar as caixas sob Desenvolvedor > Inserir> Controles de formulário . Além disso, adicionar dois botões para a planilha. Arraste e solte -os da mesma área que as caixas de seleção, à esquerda e à direita da tabela de mytab . Botão direito do mouse com o botão esquerdo e alterar o seu texto para ler "Não Subtotais ". Alterar o texto do botão direito para "Remover Subtotais . "

Posicione os botões e caixas de seleção para que o seu quadro se parece com a tabela na Figura 2 .
Escrever o código

Agora que você já projetou a tabela e seus controles, você vai escrever o código que faz os subtotais na mesa. Digite o IDE do Visual Basic ( ambiente de desenvolvimento integrado ) e adicionar um módulo. Clique em Inserir> Módulo . Na janela de código do novo módulo , digite o código do programa :

Option Explicit


Public Sub doSubtotal ()

Dim s Como StringDim r Como RangeDim c Como ObjectDim ar () As IntegerDim Ifield Como IntegerDim varItemsDim nChkd as Integer

ReDim ar (0 a 0)

' remover subtotalsRemoveSubtotals anteriores

' criar a matriz de campos de índices ( a partir de 1) o subtotal

Ifield = 1nChkd = 0
'

loop através caixas de seleção. Se estiver marcada, adicionar o seu campo para arrayFor Cada c Em ActiveSheet.CheckBoxes

Se ( c.Value = 1) = ThennChkd nChkd + 1 ' adicionar esse campo para array

ar ( UBound (ar) ) = iFieldReDim Preserve ar ( 0 To UBound (ar) + 1) ' adicionar elemento para o próximo campo selecionado

End If

Ifield = Ifield + 1

Próxima

Se ( nChkd = 0) ThenMsgBox ( " Por favor, verifique pelo menos uma caixa . " ) Exit SubEnd Se

ReDim Preserve ar ( 0 To UBound (ar) - 1) 'Remover vazio últimos elementvarItems = ar

'Faça subtotal real . Primeiro, encontre o intervalo para fazer subtotal em

Defina r = Application.Names ( " mytab " ) RefersToRange ' recuperar o intervalo nomeado para subtotal

r.Subtotal GroupBy : . = 1, Função : = xlSum , TotalList : = varItems , SummaryBelowData : = xlSummaryBelow

End Sub

Sub RemoveSubtotals Públicas ()

'Verificar subtotal anterior, usando o armazenamento fornecido pelo comentário campo no Namespace mytab ( ver Fórmulas> gerente Name) ' Nós armazenamos originais primeira coluna da tabela, . Se a coluna de partida da tabela atual difere , temos de restaurar a tabela para o local original .

Dim r Como RangeDim s Como StringDim nOrigCol As Integer

Set r = Application.Names ( " mytab " ) . RefersToRanges = Application.Names ( " mytab " ) . comentário

' nenhum comentário significa que não há prazo anterior , de modo que nenhuma remoção de subtotal anterior, ou ajuste de escala original , é necessário.

"Mas , salve coluna começando da tabela para a próxima chamada para este function.If (s = "") ThenApplication.Names ( " mytab " ) comment = r.ColumnExit SubEnd Se

Application.Range ( . "a1 : xfd65536 "). RemoveSubtotal

'Ajustar intervalo: remover uma coluna se foi addednOrigCol = CInt (s) Se ( nOrigCol < r.Column ) Thenr.Previous.EntireColumn.Delete

End If

End Sub
Executar o Programa

Voltar para a planilha do Excel que tem a mesa de mytab . Atribuir os botões para as macros que você acabou de escrever . Botão direito do mouse no botão " Do Subtotais " e selecione " Atribuir Macro ". Na caixa de diálogo que aparece , selecione a função " doSubtotal " , que faz parte do código que você acabou de escrever . Feche a caixa de diálogo , clicando em " OK ", e atribuir a outra função macro que você escreveu, RemoveSubtotals , para o outro botão.

Execute o programa , verificando qualquer combinação de caixas de seleção e clique no botão fazer subtotais. Limpe os subtotais pressionando o outro botão.

Anterior :

Próximo : No
  Os artigos relacionados
·Como usar o Excel para Chart carta graus 
·Como escrever um livro usando Excel 
·Como exibir as entradas de dados do Excel 
·Como criar vários fórmulas para o mesmo espaço no Ex…
·Como alterar um formato de data no Excel 2007 
·Como Importar Excel para fazer etiquetas 
·Como calcular Quantos dias restam para um aniversário …
·Dicas para preparar uma folha de cálculo no Excel 2003…
·Como criar uma função de programação Microsoft Acce…
·Como comparar duas planilhas do Excel para linhas dupli…
  Artigos em destaque
·Problemas para baixar músicas através de iMesh 
·Como encontrar o ponto de interseção no Excel 
·Como criar um PDF com compressão 
·Como importar música no iTunes 
·Como inserir dados em Oracle com um apóstrofo 
·Como gravar EZ Tracks baterista 
·Como abrir arquivos MP4 no VirtualDub 
·Como fazer o download de um vídeo Flash 10 de um site …
·Como transformar um DVD em um HD 
·Como Incorporar um córrego em VLC 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados