Software  
 
Conhecimento computador >> Software >> Microsoft Access >> 
Excel Dicas de Programação
A linguagem de script para o Microsoft Excel, Visual Basic, permite estender já ampla conjunto de ferramentas do Excel. No entanto, a codificação diretamente no Visual Basic pode ser difícil porque algumas funções (como a classificação ) exigem a criação de vários parâmetros em uma fashion.You exato pode evitar mão - de codificação por completo, deixando o gravador de macro escrever o código para você, mas isso nem sempre faz net o resultado que você procura. A solução é combinar o melhor de dois mundos: usar macros para fazer a codificação em massa e um pouco de codificação manual para terminar o trabalho . Ordenar uma pequena mesa

Use Visual Basic para classificar uma pequena mesa . Comece inserindo a seguinte tabela em células G8 para H11 na folha 1 :

nome do cliente, conta balanceZephyr máquinas de vento , Mesas 5Arondale ,- 10Bubble Gumballs , 30

Após digitar os dados , selecione-o e começar a gravar a macro (Developer > Gravar macro) . Nomeie o MySort macro. Sort ( Dados > Classificar de A a Z) os dados selecionados na primeira coluna , e parar a gravação da macro.
Reproduzir a Macro

Tente usar a macro para recorrer uma gama diferente : copiar e colar a tabela de clientes para outra área da planilha e selecione o novo intervalo. Reproduzir a macro (Developer > Macros > MySort ) , e observe o efeito: os dados não foi resolvido . Procure o problema no código do Visual Basic criado por sua gravação de macro. Comece a navegar para o código: . Pressione Alt- F8 , selecione sua macro MySort , e clique no botão Editar

Dentro da função MySort , observe a seguinte declaração:

ActiveWorkbook.Worksheets ( "Sheet1 " ) Sort.SortFields.Add chave: . = Range (" G8 " ) ...

e uma declaração de algumas linhas após ele :

SetRange Range ( ". C9: D12 " )

Ambas as declarações são a fonte do problema , eles são as razões pelas quais MySort deixa de classificar o intervalo selecionado: o gravador de macro do Visual Basic hard-coded o intervalo de dados ( " C9: D12 " e " G8 " ) para classificar . Sua tarefa é a de substituir os intervalos fixos para fazer a macro tipo a seleção atual
usar a propriedade Selection

Especificamente , o parâmetro -chave: . = Range ( " G8 " ) informa ao Excel para classificar a tabela de clientes com base na coluna " cliente " , que começa no G8 celular. Para substituir essa coluna original " cliente " com o um dentro do texto selecionado no momento , olhar para a propriedade Selection do objeto Application . Esta propriedade refere-se ao intervalo de células selecionadas no momento . Substitua -chave: = Range (" G8 " ) com esta : Chave: = k . Você vai definir k em um momento

A próxima faixa de hard-coded para substituir ocorre algumas declarações abaixo : . . SetRange Range (" G8 : H11 " ) . O método . SetRange indica para o Excel a gama completa você deseja classificar. Substitua SetRange Range (" G8 : H11 " ) . Com isso: ". . SetRange r"

A variável r, como a variável k ( ey ) você acabou de digitar , virá a partir da propriedade Selection. Ir para o início da definição de macro e digite essas linhas :

Dim r , k Como Faixa

Set r = Application.SelectionSet k = r.Columns (1)

a primeira atribuição Set define o intervalo de células necessárias para o método SetRange - . toda a seleção. A segunda atribuição define o intervalo necessário para a chave de classificação para a primeira coluna na seleção. Você pode classificar na segunda coluna , alterando o "1" para "2 ".
Testar a macro corrigida

A correção código é completa. Testá-lo , retornando à planilha , selecionando a tabela de clientes - onde quer que você colocá-lo na folha - e funcionando MySort . Copie essa tabela para um novo conjunto de células , selecione as células e executar MySort sobre eles novamente. Observe o tipo agora funciona corretamente .

Anterior :

Próximo : No
  Os artigos relacionados
·Sobre o Microsoft Office Excel 
·Como criar uma lista de discussão por Importação de …
·Diferença entre o Microsoft Excel e Microsoft Word 
·Como colocar títulos na caixa cinza Área de Microsoft…
·Como imprimir o Excel com Comentários em Office 2007 
·Como fazer um gráfico 3 -D no Excel 
·Como mostrar todas as linhas ocultas em uma planilha do…
·Como converter Excel para um arquivo CSV Online 
·Tutorial Excel para o Microsoft Vista 
·Como adicionar a um intervalo no Excel 2007 
  Artigos em destaque
·Como adicionar um vídeo para o RealPlayer 
·Como gravar um CD com o XP Media Center 
·Como fazer Badges Usando um modelo no InDesign 
·Como usar a função Excel offset 
·Como gravar vídeos para o QuickTime DVDs 
·Como remover Verde AV Pop Ups 
·Qual é a extensão de arquivo SYX 
·Como fazer seus próprios cartões de memória Oração…
·Como converter um SWF para um arquivo AVI Online 
·Como verificar chave de instalação do MS Office no Re…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados