Informática, Software
VBA Excel: programas de exemplo. Macros en Excel
Poucas persoas saben que a primeira versión do produto popular Microsoft Excel apareceu en 1985. Desde entón, el sufriu varias modificacións e demanda de millóns de usuarios en todo o mundo. Con todo, moitos traballan só cun pouco de capacidades desta folla bits e non sei como eles poderían facer a vida máis fácil para a capacidade de programación Excel.
Que é VBA
Programación en Excel é feito por Basic for Applications linguaxe visual programación que foi orixinalmente construído en máis famosa folla de Microsoft.
Para o seu mérito expertos atribúen a relativa facilidade de desenvolvemento. Como mostra a práctica, VBA pode dominar o básico, ata os usuarios que non teñen coñecementos de programación profesional. Para VBA características inclúen a execución de scripts no ámbito de aplicación de escritorio.
A desvantaxe do programa son os problemas asociados coa compatibilidade das distintas versións. Son causadas polo feito de que o código VBA do programa refírese á función que está presente na nova versión do produto, pero non no antigo. Hai tamén unha gran desvantaxe e excesivamente alta apertura código para cambiar a face dun estraño. Con todo, Microsoft Office e IBM Lotus Symphony permite aos usuarios aplicar as opcións de código de entrada de cifrado eo contrasinal para velo.
Obxectos, coleccións, propiedades e métodos
É con estes conceptos que cómpre entender os que están indo para operar no ámbito VBA. Primeiro de todo, ten que entender o que é obxecto. No Excel, neste acto como unha folla, un libro, e intervalo de celas. Estes obxectos teñen xerarquía especial, é dicir, obedecer uns a outros.
O principal deles é a aplicación, o programa Excel correspondente en si. Logo siga as carpetas de traballo, follas de cálculo e Range. Por exemplo, para referirse a cela A1 dunha folla específica debe apuntar o xeito, tendo en conta a xerarquía.
En relación ao concepto de "colección", este grupo de obxectos da mesma clase, en que a gravación é dada ChartObjects. Seus elementos son tamén obxectos.
A seguinte cousa - propiedades. Son unha característica necesaria de calquera obxecto. Por exemplo, para o Range - é un valor ou fórmula.
Métodos - é o comando para amosar que quere facer. Ao escribir código en VBA que sexan separados do punto de obxecto. Por exemplo, como se mostra máis adiante, moi a miúdo ao programar no comando "Excel" utilización de células (1,1) .Select. Isto significa que é necesario para seleccionar unha cela con coordenadas (1,1), isto é, A1.
Con todo, moitas veces úsase Selection.ClearContents. A súa posta en marcha é limpar o contido da cela seleccionada.
como comezar
Primeiro de todo, quere crear o ficheiro e salvalo, asignar un nome e seleccione o tipo de «Libro Excel activadas macro."
Entón, vai para a aplicación VB, que é o suficiente para usar unha combinación de «Alt» clave e «F11». seguinte:
- na barra de menú na parte superior da ventá, prema na icona xunto ao icono de Excel;
- Mudule seleccionado de mando;
- manter a premer na icona co disquete;
- escribir, por exemplo, un esbozo de código.
Parece como segue:
Sub programa ()
'O noso código
end Sub
Por favor, teña en conta que a liña " 'O noso código" será destacado nunha cor diferente (verde). A razón para esta apóstrofe, entregado no inicio da cadea, o que indica que o que sigue é un comentario.
Agora podes escribir calquera código e crear para si unha nova ferramenta no VBA Excel (ver os programas de exemplo. Etc.). Por suposto, os que están familiarizados cos conceptos básicos do Visual Basic, será moito máis fácil. Con todo, mesmo os que non teñen, se quere ser capaz de sentirse cómodo moi rapidamente.
Macros en Excel
Detrás deste nome esconde programas escritos en linguaxe Visual Basic para Aplicacións. Así, a programación para Excel - é crear unha macro ao código desexado. Con esta capacidade, Microsoft folla auto-desenvolve, adaptándose ás esixencias do usuario. Tendo lidado coa forma de crear módulos para escribir macros, pode continuar con exemplos concretos de programa VBA Excel. Mellor comezar cos códigos máis básicas.
Exemplo 1
Tarefa Escribe un programa que ha copiar o valor do contido dunha cela e, a continuación, escribir a outro.
Para iso:
- abra a pestana "Ver";
- Move o icono "macros";
- trasfega a "Macro Record";
- cubrir o formulario aberto.
Para simplificar, no campo "Nome de macro" deixar "Makros1" e na "Atallo de teclado" está inserido, por exemplo, HH (isto significa que pode executar o programa exemplo será «Ctrl + H» equipo Blitz). Prema Intro.
Agora que comezou a gravar a macro, comproba se o contido dunha cela a outra. Voltar a icona orixinal. Prema no botón "Gardar Macro". Esta acción marca a conclusión de applets.
seguinte:
- novo movendo a cadea "Macros";
- é seleccionado na lista de "Macro 1";
- prema en "Executar" (as mesmas comeza acción lanzado teclas de atallo «Ctrl + hh»).
Como resultado, a acción que se levou a cabo durante a gravación da macro.
Ten sentido para ver como o código se parece. Para iso, volver ao cárcere "Macros" e prema en "Editar" ou "Enter". Como resultado, eles se atopan no ámbito VBA. De feito, o propio código está situado entre as liñas de macro Makros1 Sub () e End Sub.
Se a copia foi realizada, por exemplo, a partir dunha célula A1 na cela C1, unha das liñas de código será coma Range ( "C1"). Selecciona. Na tradución, parece que "Range (" C1 "). Select", noutras palabras, fai unha transición VBA Excel, na célula C1.
Unha parte activa do código completa ActiveSheet.Paste equipo. Significa gravación contidos da cela escollida (neste caso, A1) na célula C1 seleccionado.
Exemplo 2
ciclos VBA axudar a crear diferentes macros en Excel.
ciclos VBA axudar a crear diferentes macros. Asúmese que hai unha función y = x + x 3 + 3x 2 - cos (x). Quere crear unha macro para os seus gráficos. Isto pode ser feito só mediante ciclos VBA.
Ao valor inicial e final de funcións argumentos utilizan x1 = x2 = 0 e 10. Ademais, é necesario introducir unha constante - o valor para o paso cambia o argumento e un valor inicial para o contador.
Todos os exemplos de macros VBA Excel son creados usando o mesmo procedemento tal como se por riba. Neste caso concreto, o código parécese:
Sub Programm ()
x1 = 1
x2 = 10
transar = 0,1
i = 1
Non Mentres x1
y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - cos (x1)
As células (I, 1) .Value = x1 (valor X1 escrita na memoria coas coordenadas (i, 1))
As células (I, 2) .Value = y (valor Y foi escrito na cela coas coordenadas (i, 2))
i = i + 1 (Conta válida);
x1 = x1 + trans (argumento é cambiado o tamaño do paso);
lazo
End Sub.
Como resultado desta macro run "Excel" obter dúas columnas, a primeira das cales están gravados os valores x, ea segunda - a y.
Logo axenda capaz de construír sobre eles, o estándar para "Excel".
Exemplo 3
Para aplicar ciclos en VBA Excel 2010, así como noutras versións, xunto co do xa reducido Mentres o deseño utilizado.
Considero un programa que crea unha columna. En cada célula que vai ser gravada cadrados número de liña correspondentes. Para o uso do proxecto permitirá a gravalo moi brevemente, sen o uso de un contador.
Primeiro é necesario crear unha macro, como descrito anteriormente. A continuación, escribir o propio código. Cremos que estamos interesados nos valores das celas 10. O código é como segue.
Para i = 1 a 10 Seguinte
A orde é trasladado a linguaxe "humano", como "repetido de 1 a 10 en incrementos dun".
Se a tarefa para recibir a columna con cadrados, por exemplo, todos os enteiros impares entre 1 e 11, podemos escribir:
Para i = 1 a 10, paso 1 seguinte.
Aquí, paso - paso. Neste caso, é igual a dous. Por defecto, a ausencia da palabra no circuíto significa que unha única etapa.
Os resultados teñen que ser almacenados en número de células (I, 1). Entón, cada vez que inicia o ciclo cun aumento no valor de i paso será automaticamente crecer e número de liña. Así, haberá optimización de código.
En xeral, o código ficaría así:
Sub programa ()
Para i = 1 a 10, Paso 1 (só pode ser escrita para i = 1 a 10)
As células (I, 1) .Value = i ^ 2 (valor cadrado isto está escrito para dentro da célula (I, 1) a)
Logo (nun sentido desempeña o papel dos medios de conta e outro inicio do ciclo)
End Sub.
Se iso é feito correctamente, incluíndo a gravación e execución de macros (ver. As instrucións anteriores), entón é chamado cada vez que un dato tamaño será obtida columna (neste caso formado por 10 células).
Exemplo 4
Na vida cotiá, moitas veces é necesario tomar esta ou aquela decisión en función dalgunhas condicións. non pode facer sen eles en VBA Excel. Exemplos de programas onde o curso posterior do algoritmo é seleccionado no canto de nun principio predeterminado, deseño máis comunmente usado de Se ... Entón (para casos difíciles) If ... Then ... End If.
Considero o caso particular. Supoña que vostede queira crear unha macro para "Excel" para o móbil coas coordenadas (1,1) foi gravada:
1 se o argumento é positivo;
0 se o argumento é cero;
1, o argumento é negativo.
A creación dun tal macro para "Excel" comeza de forma estándar, a través do uso de chaves "quentes" Alt e F11. Ademais escrito o seguinte código:
Sub programa ()
x = As células (1, 1) .Value (Este comando determina que o valor de x coordenadas dos contidos das celas (1, 1))
Se x> 0, entón as células (1, 1) = 1 .Value
Se x = 0, entón as células (1, 1) = 0 .Value
Se x <0, as células (1, 1) = -1 .Value
End Sub.
Ela segue a realizar unha macro e entrar "Excel" valor desexado para o argumento.
funcións de VBA
Como ten que notar, no programa máis famoso aplicación de follas de cálculo Microsoft non é moi difícil. Especialmente se aprender a usar funcións de VBA. En total, esta linguaxe de programación creada especialmente para escribir aplicacións en "Excel" é a palabra, preto de 160 funcións. Eles poden ser divididos en varios grupos grandes. Son eles:
- funcións matemáticas. Aplicala las para o argumento do valor do coseno é obtido, o logaritmo natural, e así por toda a parte.
- funcións financeiras. Debido á súa dispoñibilidade e uso de programación en Excel, pode obter ferramentas eficaces para contabilización e liquidación financeira.
- funcións de procesamento de matriz. Estes inclúen Array, IsArray; LBound; UBound.
- VBA Excel funcionar para a liña. Este é un grupo moi grande. Inclúe, por exemplo, a función de espazo para crear unha cadea cunha serie de lagoas igual ao argumento enteiro ou símbolos transferencias Asc ao código ANSI. Todos eles son amplamente utilizados e permiten que se traballa con cordas no "Excel" para crear aplicacións moito máis fácil traballar con estas táboas.
- funcións de conversión do tipo de datos. Por exemplo, CVar retorna argumento Expression, convertelo-lo para o tipo de datos Variant.
- funcións de data. Eles ampliar as características estándar de "Excel". Así, a función WeekdayName devolve o nome (completo ou parcial) do día da semana polo seu número. Aínda máis útil é o contador. Dá o número de segundos transcorridos desde a medianoite para un determinado momento do día.
- Función para converter un argumento numérico nos distintos sistemas numéricos. Por exemplo, Out emite a representación octal número.
- funcións de formato. A máis importante delas é o formato. E devolve unha variante cunha expresión formato segundo as instrucións dadas na descrición do formato.
- e así por diante.
O estudo das propiedades destas funcións ea súa aplicación vai ampliar significativamente o ámbito de "Excel".
EXEMPLO 5
Intentaremos resolver problemas máis complexos. Por exemplo:
documento en papel Dan o nivel real dos custos do informe da empresa. esixe:
- desenvolver a súa porción estándar de folla "Excel";
- facer un programa VBA que pode pedir datos en bruto para enche-lo, para realizar cálculos necesarios e encher o modelo da célula correspondente.
Considere as seguintes solucións.
Creación dun modelo
Todas as accións son realizadas nunha folla estándar en Excel. células libres reservados para introducir datos nas mes, ano, empresas de título para o consumidor, o importe dos gastos, o volume de negocio. Como o número de empresas (empresas), en relación ao cal o informe non é rexistrada, as células de facer en base a valores e nome profesional non está reservado con antelación. Folla asignado a un novo nome. Por exemplo, "Օ Report".
variables
Para escribir o recheo automático do modelo do programa, seleccione a notación. Eles serán utilizados para as variables:
- NN- número da liña actual da táboa;
- TP e TF - planificadas e facturación real;
- SF e SP - custos totais reais e planificadas;
- IP e IF - planificado e nivel de custos reais.
Denotamos polas mesmas letras, pero cun "prefixo» Itog acumulación total para esta columna. Por exemplo, ItogTP - En relación á columna titulada como "o volume de negocio planificado".
Solución do problema utilizando programación VBA
Usando esta notación, obtemos a fórmula para a varianza. Se quere realizar o cálculo de% temos (F - P) / P * 100, e na cantidade de - (F - P).
Os resultados destes cálculos pode ser mellor só para facer follas de cálculo "Excel" nas células apropiadas.
Ao resultado e prognóstico de feito obtidos por fórmulas ItogP = ItogP + P e ItogF = ItogF + F.
Para desvíos usar = (ItogF - ItogP) / * 100 ItogP o cálculo é levado a cabo como unha porcentaxe, e cando o valor total - (ItogF - ItogP).
Os resultados unha vez gravado nas células apropiadas, polo que non hai necesidade de asignar-lles a variables.
Antes de comezar a crear un programa que desexa gardar o libro, por exemplo, baixo o nome "Otchet1.xls".
Prema o botón "Crear unha táboa de informes", ten que premer só 1 hora despois de entrar a información da cabeceira. Debes saber e outras normas. En particular, o botón "Engadir unha liña" debe ser premida cada vez que despois de entrar na táboa de valores para cada actividade. Despois de entrar todos os datos necesarios para premer o botón "Finish", e logo pasar a "Excel" no diálogo.
Agora que sabe como resolver o problema para Excel con macros. A capacidade de utilizar o VBA Excel (ver programas de exemplo. Enriba) e pode ter traballar no ámbito dos máis populares no momento, o editor de texto "Palabra". En particular, a través da gravación, como se mostra no inicio deste artigo, ou escribindo código para crear os botóns do menú a través do cal moitas das operacións sobre o texto se pode facer premendo as teclas noites ou a través da icona "ver" e guía "Macros".
Similar articles
Trending Now