Programação VBA Excel Hyper-disambiguated | Grant Gamble | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Programação VBA Excel Hyper-disambiguated

teacher avatar Grant Gamble

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

40 aulas (5 h 57 min)
    • 1. 1.1. INTRODUÇÃO DO CURSO

      4:47
    • 2. 1.2. Visão geral de VBA do Excel

      1:40
    • 3. 1.3. A guia de desenvolvedor

      2:52
    • 4. 1.4. Segurança de macro

      5:48
    • 5. 1.5. O Editor de Visual Basic e o Explorador de projetos

      2:02
    • 6. 1.6. Objetos do Excel e código de evento

      7:59
    • 7. 1.7. Escrever uma macro no VBE

      3:57
    • 8. 1.8. Usando a janela imediata

      3:11
    • 9. 1.9. Salvar uma pasta de trabalho habilitada para macro

      1:30
    • 10. 1.10. A maneira correta de usar o gravador de macro

      12:50
    • 11. 1.11. Analisando uma macro gravada

      6:58
    • 12. 1.12. Melhorar uma macro gravada

      11:59
    • 13. 1.13. Atribuir uma macro a um botão

      12:52
    • 14. 1.14. Testando uma macro em outra planilha

      5:54
    • 15. 2.1. O modelo de objeto Excel

      12:07
    • 16. 2.2. Aulas e funções de VBA

      11:28
    • 17. 2.3. Propriedades e métodos

      12:54
    • 18. 2.4. Variáveis de dados

      13:27
    • 19. 2.5. Variáveis de objetos

      19:25
    • 20. 2.6. Opção explícita

      5:25
    • 21. 2.7. Declarando e usando constantes

      5:49
    • 22. 2.8. Usando MsgBox para saída

      10:11
    • 23. 2.9. Usando MsgBox para entrada

      9:30
    • 24. 2.10. Usando VBA InputBox

      6:25
    • 25. 2.11. Usando o aplicativo MsgBox

      6:19
    • 26. 3.1. Se declarações

      11:36
    • 27. 3.2. Se ... Declarações de outros

      13:18
    • 28. 3.3. Selecione ... Caso

      9:19
    • 29. 3.4. Para ... Próximos cordões

      9:32
    • 30. 3.5. Para cada ... Próximos cordões

      6:46
    • 31. 3.6. Fazer... Enquanto loops

      13:56
    • 32. 3.7. Fazer... Até os laços

      7:27
    • 33. 3.8. Criando arrays

      10:16
    • 34. 3.9. Arraias dinâmicas

      13:25
    • 35. 3.10. Utilizando matrizes

      11:05
    • 36. 4.1. Procedimentos sub e variáveis de nível de módulo

      10:53
    • 37. 4.2. Variáveis estáticas

      5:29
    • 38. 4.3. Parâmetros de passagem

      11:29
    • 39. 4.4. Funções de Creatig

      7:48
    • 40. 4.5. Criando funções definidas pelo usuário

      17:04
  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

200

Estudantes

--

Sobre este curso

Os tutoriais de vídeo neste curso vão mostrar como automatizar tarefas e operações do Microsoft Excel. É direcionado particularmente para usuários do Excel, sem muita experiência de programação, que lutam para lembrar a sintaxe e estrutura da linguagem de programação VBA. Durante o curso, vamos usar um estilo de programação que enfatiza o significado de cada linha de código que você escreve. Isso significa que quando você revisita o código, o significado de cada linha é aparente da sintaxe, em vez de se tornar cada vez mais desconhecido. O curso também demonstra como obter o máximo benefício do IntelliSense, recurso de conclusão de código da Microsoft. Se você está procurando aprimorar suas perspectivas de carreira, economizar dinheiro da sua empresa ou aumentar sua produtividade, este curso fornecerá todo o conhecimento que você precisa para começar. Você pode baixar todos os materiais usados nas palestras, para que você possa acompanhar. (Por favor, lembre-se de descompactar os arquivos baixados.)

Conheça seu professor

Teacher Profile Image

Grant Gamble

Professor

Grant Gamble is an experienced IT trainer, developer, consultant and author able to deliver a wide range of training courses. He has a vast experience of delivering public and on-site IT training content at different skill levels, to groups of varying sizes.

His UK company G Com Solutions Limited provide IT training courses and consultancy to a wide range of UK and international clients. His speciality is running week-long, intensive training workshops on topics like Microsoft Power BI, VBA, web development and Adobe Creative Suite automation.

Visualizar o perfil completo

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%
Arquivo de avaliações

Em outubro de 2018, atualizamos nosso sistema de avaliações para melhorar a forma como coletamos feedback. Abaixo estão as avaliações escritas antes dessa atualização.

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. 1.1. INTRODUÇÃO DO CURSO: Olá. Estou atraído. Gamble em Bem-vindo a hiper diferente Regulated X l e d a. Eu sei que você está pensando que eu não assisto. Sobre o que ele está falando? Bem, deixe-me explicar. Eu tenho executado cursos Excel desvio por um longo tempo em eu acho que se alguém faz programação regularmente web programação sp .net, seja qual for, então BB a cai no lugar no Atlântico. Muito insolente. Mas essas pessoas continuam sendo pessoas Lee Excel, e você não faz muita programação de peso. Acho que é muito mais difícil ficar em cima de B B A e como seleciona. Eu até descobri que as pessoas muitas vezes depois de traficar, treinado se eles não tinham feito o programa por um longo tempo, eles começam a esquecer o mesmo básico. Então, a idéia deste curso é instalar que os usuários do Excel compreendam totalmente o BB, um código que escrever Andrea é uma série de técnicas em seu curso para garantir que isso aconteça. Uma das principais coisas que fazemos neste curso é escrever o código de tal forma que se torna super claro o que cada linha de código precisa em Isto é o que eu quero dizer com hype, forma avermelhada e regulação. Não basta escrever o mínimo para ter certeza, porque obras que não tentamos deliberadamente fazer cada código de tempo é claro e auto-explicativo . É possível que as coisas muitas vezes significa que você acaba escrevendo linhas mais longas de código que deve ser programa homossexual. É, mas o benefício é que é muito mais fácil ver a função desses fios macro. Isso se torna particularmente útil programa BB oito e não é necessariamente algo que você poderia regularmente. Então, que curso bem, o curso irá cobrir todos os elementos básicos que você normalmente trabalha com. Quando Postmates X para cima. Começaremos com coisas excelentes. Isso é revertido, o objeto do aplicativo. Eu escreverei em código, que obtém informações do Excel, tal versão sendo usada se os usuários em um PC ou um Mac olham para a maneira correta de alterar os segundos excel de um usuário quando você precisa, e, em seguida, como restaurar o valor original, então mantenha-os felizes. Então vamos seguir em frente para olhar armas com arquivos e obras. Obviamente, quando eu trabalho com suas roupas, é apenas um arquivo, e então você abre ele se torna uma pasta de trabalho, então vamos aprender como criar e excluir arquivos e pastas como processar toda a violência em um dada pasta. E então vamos falar sobre abrir na criação e exclusão de pastas de trabalho. Como verificar se uma pasta de trabalho está aberta sobre como verificar se um bolo local existe em locais inesperados. Os níveis rolam para baixo em planilhas, criou-os, excluindo-os, copiando-os, movendo-os também discutiram as formas mais eficientes de se referir a planilhas, e também muito fino para worksheet existe antes de tentar fazer algo com ele. Também analisaremos o contraste entre planilhas e planilhas de gráficos. Eles têm um monte de tarefas separadas em comum em uma pasta de trabalho, e eles também são parte do que é chamado de coleção de folhas. Então vamos falar sobre quando você deve processá-los separadamente e quando você deve processá-los juntos também irá discutir o contraste entre despensas autônomas loucas versos em Betty Charge. E, claro, teremos muita prática em trabalhar com Star Range. O Homing in em dias específicos organiza intervalos de cópia e dados entre planilhas, modificando os valores nas células e, claro, inserindo fórmulas em si. Usando 58. Também certifique-se de ter muita prática no reconhecimento frio, e é muito importante, é claro, claro, vem com um modelo de reconhecimento de código. Você baseou seu código nos modelos e, em seguida, basta passar linha por linha. Eles controlam que você entende o que cada linha de código. Então, se você está procurando por um Excel Phoebe A esfria, o que não apenas pede que você aprenda coisas. Moda tarifária que lhe dá a chance de realmente abrir o direito de codificação e saber exatamente o que ele está fazendo então. Hiper prato e faixa de vídeo no Excel BB A. Programe ele se exatamente o curso que você está procurando. 2. 1.2. Visão geral de VBA do Excel: neste curso irá abranger todos os conceitos básicos que você precisa para começar diretamente no seu próprio Mac Rose e irá se concentrar em todos os componentes que você precisará para iniciar o programa . Então vamos apenas dar uma olhada no que alguns desses componentes são. Então, primeiro lugar, temos o modelo Objeto Excel. Isso, basicamente, é o equivalente programático fora da interface do Excel. Então o topo da árvore que temos sobressair em si. Temos pastas de trabalho, cadernos de trabalho, folhas, etc., a fim de programar em V. B. A. Você precisa entender que este objeto mortal obviamente estará examinando em grande detalhe. V. B. A própria fornece uma certa quantidade do código que você está certo Teoh criar suas aplicações e assim também será focado na sintaxe que é usado, que é disponibilizado pelo próprio visual basic. Então, para começar, vamos começar tornando esta guia do desenvolvedor visível. E então olhamos para o gravador de macro, como gravar seu próprio Mac Rose e, em seguida, não gravou uma macro vai olhar para ele indo para editor básico individual visual e realmente modificando seu código 3. 1.3. A guia de desenvolvedor: Tal como acontece com todas as áreas fora como você, tomar célula as características relacionadas ao B A R. Tudo organizado na mesma guia. Este é o tema geral em todos os programas do Microsoft Office no Home Tab. Temos todos os recursos populares que usa 10 para exigir frequentemente no layout da página. Temos tudo relacionado à preparação de um documento para impressão. Em vista. Temos todas as opções relacionadas aos documentos do coração um exibido na tela e assim por diante. Portanto, há uma aba especial chamada Developer Tab, que é usada para tudo relacionado ao VB, uma rosa do Mac. No entanto, ao contrário das outras guias, a guia desenvolvedor não é exibida inicialmente quando o Excel é instalado para torná-lo visível, você simplesmente precisa ir para o menu de arquivos em suas opções. O Ben. Aqui você verá uma série de opções do Excel organizadas em categorias que são exibidas à esquerda . Você precisa ir para a categoria de faixa de opções de personalização e, em seguida, aqui no lado direito, você verá uma seção rotulada Guias Principais. E na parte inferior temos Developer, que é objeto simplesmente clicando na caixa de faixa para ativá-lo. Quando você olhar OK, teremos uma guia extra no final do rio chamada Developer. A maioria das opções nesta guia relacionadas a V. B A. Há uma seção no final aqui, que se relaciona com o trabalho com XML. E há outra seção aqui para trabalhar com o Adan. Mas as opções no grupo de código e no grupo de controle estão todas relacionadas ao V B A. Então, por exemplo, se clicarmos no primeiro Laker rotulado Visual Basic, este lançamento é o que é chamado de editor visual basic. Deixe-me fechar isso para sair disso. E então aqui temos todas as macros já gravadas quando clicamos verá uma lista de todas as macros que podemos deixar executá-las. E novamente, aqui podemos clicar para gravar uma macro, e aqui podemos clicar para especificar nossas configurações de segurança de macro. Então, discutiremos todos esses recursos nos próximos vídeos. Mas esse é o primeiro passo, tornando a guia do desenvolvedor visível para que você possa acessar todos os destaques bater VB, um recurso 4. 1.4. Segurança de macro: qualquer formato de arquivo, que suporta executar código herbal, apresenta um risco de segurança. As pastas de trabalho Usuários e Excel, que continham o Mac Rose, se enquadram nessa categoria. Por esse motivo, sempre que você abrir um arquivo que contém uma macro, Excel exibirá inicialmente um aviso de segurança. No entanto, como desenvolvedor, você vai querer ser capaz de desativar essa opção ao trabalhar com seus próprios projetos. Vamos ver como isso é feito. Vamos entrar na pasta de treinamento e entrar no 01 começando. Não temos zero para segurança de macro. Você notará que ele possui a extensão de arquivo dot XLs em ao contrário de dot XLs X, que é a extensão de arquivo normal para arquivos Excel. E isso indica que ou ele já contém uma macro, ou pelo menos ele tem o potencial para macros de contenção. Quando eu clicar duas vezes para abri-lo, Excel exibe um aviso de segurança indicando que o Macron foi desativado e cabe a mim determinar se eu quero substituir isso e habilitar o conteúdo neste arquivo. Posso atestar o fato de que não há nenhum código malicioso dentro da nossa pasta de treinamento, Então, como podemos dizer ao Excel para não exibir mensagens quando abrimos arquivos dentro dessa pasta. Por enquanto, vamos fechar o arquivo e, em seguida, na guia do desenvolvedor no lado esquerdo, você verá que temos a opção. Segurança de macro. Quando clicamos sobre isso, isso traz sobressai. Configurações do centro de confiança. Essas configurações não são isoladas. Eles simplesmente fazem parte de excelência. Opções normais do Excel. Clicar na segurança de macros na guia do desenvolvedor é a maneira mais rápida de chegar às configurações do centro de confiança . Mas deixe-me mostrar-lhe o outro caminho se cruzarmos o arquivo e as opções. Este é o lugar onde temos todas as configurações padrão de excelência. E para chegar às configurações do centro de confiança, clicamos no centro de confiança, a última categoria à esquerda e, em seguida, no lado direito, este botão configurações do centro de confiança traz a janela o diálogo que estávamos olhando apenas um momento atrás para que você possa acessar as configurações usando qualquer método que seja o mais conveniente para você nas configurações do centro de confiança. A coisa mais simples que você pode fazer, talvez, é habilitar todos os Mac rosa. Mas, como você pode ver aqui, isso não é recomendado porque você não tem nenhuma proteção. O Excel nunca o avisará quando abrir um ficheiro que contenha uma macro. Então, o que é melhor é usar esse recurso à esquerda aqui chamado Locais confiáveis. Quando clicamos nisso, temos o dedo da instalação. Adicione quantos locais quisermos, então vou adicionar nossa dobra de treinamento no local. No meu caso, isso está na área de trabalho para nossos locais confiáveis. Para fazer isso, clique em adicionar novo local e, em seguida, pressione o botão Procurar e navegue para o local desejado . Então eu vou rolar para baixo até o XLV, ser uma pasta de nível um e, em seguida, clique duas vezes para abri-lo. Em seguida, clique em OK antes de clicar. OK para confirmar esta adição, é muito útil ativar a opção. Subpastas desta localização também são fidedignas. Portanto, tudo dentro da pasta especificada e todas as suas subpastas agora podem ser abertos sem que o Excel exiba os guardas de segurança. Então, agora clicamos em OK, e aqui podemos ver o novo item adicionado aos nossos locais confiáveis, e eu vou clicar em OK, Ken e pela terceira vez para terminar. Vamos colocá-lo à prova para que eu vou abrir o mesmo arquivo em 01 começando. Estou abrindo zero para segurança de macro. Olá, Grant Gamble, por favor conhecê-lo. Eu sou um risco de segurança e R V B. Um código é executado e desde que você tenha alto-falantes ligados. Você tem seu volume aumentado? Você deveria ter ouvido uma mensagem que simplesmente diz “olá”. Seguido de seu nome de usuário seguido de Eu sou um risco de segurança. E se eu entrar no desenvolvedor Tab, clique em Visual Basic Here, você pode ver o código que está realmente fazendo isso. Se você não vir este código, por sinal, basta clicar duas vezes no ícone marcado nesta pasta de trabalho dentro da segurança 04 Macro. E este é um exemplo de código que é executado automaticamente quando uma pasta de trabalho é aberta. E, claro, discutiremos essas técnicas em detalhes durante o curso. Por enquanto, vou fechar. Então o propósito deste vídeo é apenas para mostrar como você pode dizer ao Excel para não exibir mensagens de aviso quando você está trabalhando com seu próprio VB um projetos 5. 1.5. O Editor de Visual Basic e o Explorador de projetos: o editor visual basic é um mini aplicativo, que é incorporado aos principais produtos do Microsoft Office. Ao contrário dos próprios produtos, no entanto, o editor visual basic não mudou para muitos lançamentos. Ele ainda tem um olhar bastante antiga escola para ele para acessar o editor visual basic na guia desenvolvedor, Clique no botão visual basic quando você passar o mouse sobre o botão. Excel também lembra o atalho de teclado, que é o antigo F 11. Como você pode ver, o editor visual basic não tem uma faixa de opções. Em vez disso, ele tem os menus pré 2007, barras de ferramentas e janelas flutuadas. Vamos começar fechando todas essas janelas flutuantes. Então, se você estiver seguindo, basta fechar todas as janelas que você tiver aberto. E se você pensar no Excel 2003 onde vivem as janelas flutuadas e as barras de ferramentas? Eles vivem sob o menu de exibição apenas para obter uma vista. Você verá aqui que temos duas barras, e aqui temos todas as nossas janelas flutuadas. A primeira janela que devemos olhar é o Project Explorer. Esta é a janela chave, que lhe dá acesso a VB, um código. Um projeto é basicamente um recipiente para VB, um código V B. Um visual básico para aplicações é o programa em linguagem, que é usado para automatizar o conjunto de escritório resultado bicicleta, e poderia ser colocado em vários diferentes localizações. O Project Explorer dá-lhe acesso a todos esses locais. 6. 1.6. Objetos do Excel e código de evento: o primeiro local em que o código pode ser inserido. Ele está no que transformou objetos do Microsoft Excel e você verá em todos os projetos. Esta pasta está sempre lá, e dentro da pasta você verá ícones, que representam tanto a pasta de trabalho quanto todas as planilhas na pasta de trabalho. Então, neste momento, eu tenho, ah, ah, pasta de trabalho que contém uma única folha. Se eu tivesse 10 folhas, eu teria 10 ícones. Um ícone representou cada folha e para colocar o código, que controla essa folha ou qual controla a pasta de trabalho como um todo, eu simplesmente clique duas vezes no ícone apropriado. Então, se eu clicar duas vezes na folha um, uma janela de código aparece. E se eu clicar duas vezes nesta pasta de trabalho, outra janela de código aparecerá sob o menu da janela. As várias janelas de código são exibidas. Posso escolher uma janela de código para trazê-la para a frente. Se você encontrou o atalho, controle tad para alternar entre todas as janelas diferentes que você tem aberto no Excel. Isso também funciona com janelas de código em permite que você alterne entre todos os diferentes códigos Windows Best divulgou esses dois e vai para baixo para o momento. Duplo controlado usado um atalho se você gosta de usar esse código de método que é colocado dentro objetos do Excel é o que é chamado de código de evento. Ou seja, o código é executado automaticamente quando um determinado evento ocorre dentro desse objeto. Então, no caso da Folha um, deixe-me apenas clicar duas vezes para abrir a janela de código da folha um para escrever código com base em um evento. Eu vou para o que é chamado de menu suspenso de objetos, e aqui eu escolho o objeto em questão, que neste caso, é a planilha. Isso então faz com que o Excel crie automaticamente um subprocedimento, algum procedimento, simplesmente um pedaço de código. Qualquer coisa que eu digite entre as linhas de abertura e fechamento do sub procedimento será executado quando o evento padrão ocorre. E o evento padrão para planilhas é sempre que a nova seleção é feita. Então, se você mudar da célula um para vender, ser um que irá acionar qualquer código que está escrito dentro deste sub procedimento, esse é o evento padrão. Seja qual for o lado direito no procedimento cair para baixo. Temos acesso a outros eventos contra os quais podemos codificar para que possamos escrever código, que será acionado automaticamente sempre que qualquer um desses eventos ocorrer dentro de uma planilha. No momento, eu só vou ficar com o sub-procedimento padrão, e eu vou escrever uma linha muito simples de código usando a caixa de mensagem de função. Então aqui eu estou indo apenas para digitar MSG Box. Esse é o nome do espaço de função e, em seguida, pequeno tipo de mensagem. Uma vez que o texto das mensagens, ele precisa ir aspas duplas. Então aqui está a minha mensagem. Portanto, a qualquer momento dentro da folha um que a seleção mudar irá aparecer minha caixa de mensagem. Agora posso voltar para o Excel. E se eu clicar em uma nova célula, para cima vem por mensagem irritante. Se eu usar as setas no meu teclado novamente porque esta eleição ainda está mudando próxima minha mensagem. Vamos Pressel 10 11 para voltar para a janela de código e vamos excluir esse pedaço irritante do código. O mesmo se aplica à pasta de trabalho propriamente dita. Vamos fechar a janela da folha. Clique duas vezes nesta pasta de trabalho para abrir a janela de código da pasta de trabalho. Então, seguimos o mesmo procedimento a partir da primeira lista suspensa, o objeto descartado, que é o objeto que neste caso é a pasta de trabalho e o Excel cria os padrões de procedimento. Desta vez, o evento padrão é a abertura da pasta de trabalho. Digamos que estamos interessados em escrever algum código, que será executado sempre que alguém tentar imprimir a pasta de trabalho. Então, o que fazemos desta vez é grande até o procedimento abandonado à direita, e encontramos o procedimento do evento de impressão. Você vai notar que ele tem um nome especial. É antes de imprimir em vez de simplesmente imprimir sempre que a palavra anterior ocorre com um procedimento sub . Isso indica que o evento em si pode ser cancelado. Então, aqui está o nosso novo procedimento de subcontratação. Nós não precisamos mais do aberto, então eu vou apenas destacá-lo. Deletado. Portanto, qualquer código que eu inserir aqui será acionado sempre que o usuário tentar imprimir a pasta de trabalho. Você vai notar que eu uso o termo tentativa, porque sempre que um sub procedimento tem a palavra antes, então, isso implica que você pode realmente bloquear o evento. Você pode impedi-los de fazer essa ação em particular. Então, neste caso, podemos impedi-los de imprimir na pasta de trabalho. Digamos que nossa empresa tenha uma política de apenas imprimir em um documento quando é absolutamente necessário, e no caso deste documento, não é considerado absolutamente necessário que ele seja impresso. Então, queremos fazer duas coisas. Queremos mostrar uma mensagem para dizer. Este documento não deve ser impresso salvando como um PDF, e então queremos bloquear o comando de impressão. Então, primeiro de tudo, a mensagem ser visto caixa de mensagem e caixa de mistério e, em seguida, entre aspas, tudo simplesmente colocar uma mensagem rápida e, em seguida, para bloquear o comando de impressão. Eu uso este parâmetro especial, que é chamado Cancelar, e eu simplesmente definir cancelar como true e isso irá parar o evento de impressão de realmente acontecer . Então cancelar é igual a verdadeiro, e isso deve fazer o truque. Então vamos testá-lo. Eu vou voltar para o Excel antigo F 11 se você quiser usar o teclado. E suponho que devemos colocar algo na nossa época de trabalho no momento em que estiver completamente preto. Então, tem algo nele, e vamos ao arquivo sobre o Prince. Quando eu clico no botão de impressão, para cima vem minha mensagem sobre o evento de impressão é bloqueado. Vamos voltar ao visual basic e, novamente, vamos excluir nosso código de exemplo 7. 1.7. Escrever uma macro no VBE: bem como colocar no código dentro dos objetos do Excel. Você também pode criar Mac Rose em macros colocaram em um recipiente especial chamado módulo . Então, para criar um modelo, eu tenho inserto corpo. Eu também posso clicar com o botão direito do mouse no projeto e escolher inserir modelo. De lá e para cima vem outra janela de código, que se relaciona com o módulo um. Feche-o para trazê-lo de volta. Eu simplesmente clique duas vezes em cerca de um. Então você já viu para programar janelas. Vimos o produto explorar à esquerda aqui em. Então, quando você abre um objeto, temos uma janela de código, que nos permite colocar código. Dentro desse objeto, vamos para o menu de exibição. Vamos abrir a janela de propriedades. Deixe-me apenas redimensioná-lo para que possamos ver ambas as propriedades no Project Explorer. Basicamente, isso lhe dará propriedades relacionadas ao objeto em que você clicar. Então, se eu clicar na folha um, vejo propriedades relacionadas a isso. Este limão pasta de trabalho, Eu clique no módulo que é apenas uma única propriedade, que é o nome do módulo. Então deixe-me esfriar. Olá Mundo e pressione enter e que renomeia o módulo, modo que a janela de propriedades basicamente permite que você altere as propriedades do que você selecionar. Seu uso mais frequente é quando você trabalha com formulários de usuário, e estas são janelas de diálogo especiais, que você pode personalizar e onde você pode colocar coisas como menus pop-up. Caixas de seleção não diferentes de um formulário que você pode criar em um site. Então, quando você está trabalhando com formulários de usuário, usado a janela de propriedades o tempo todo. Quando estiver trabalhando com outros objetos, você os usa com menos frequência. Ok, então nós temos janela de código Project Explorer na janela de propriedades e para criar uma macro, que, se você lembrar, é o que modelos de quatro módulos são o recipiente para Mac Rose. Para criar uma macro, podemos apenas digitá-lo ou poderíamos ir para inserir o procedimento, digite o nome para a nossa macron, então eu vou usar o mesmo nome novamente. Nenhum espaço é permitido para nomes de macron e, em seguida, o tipo será sub e o escopo será público. Os estágios de jantar privados são usados onde você quer ter um pedaço de código que é usado por outro Mac Rose. Para criar uma macro, você cria um procedimento sub público O que clicamos em OK, Excel coloca no código necessário e nós poderíamos, obviamente, simplesmente ter digitar este código nós mesmos. Então aqui vamos usar a nossa caixa de mensagem novamente e para executar o código, nós simplesmente certifique-se de que o cursor está no procedimento sub necessário e podemos clicar no botão executar que é exibido na barra de ferramentas principal. Você também pode executar uma macro a partir da própria pasta de trabalho na guia desenvolvedor. Clique em estradas traseiras à esquerda aqui, e então você verá uma lista de todas as suas linhas traseiras. Então olá, Mundo é o nome do ponto modelo e, em seguida, Olá Mundo é também o nome da macro. Quando eu clico em executar, eu obtenho o mesmo resultado. 8. 1.8. Usando a janela imediata: e vamos apenas dar uma olhada. Em uma última janela, eu vou para o menu de exibição. Andi, abra a janela imediata. A janela imediata é usada para executar uma linha de código. Se eu apenas copiar esta linha e colar na janela imediata quando eu apresentar, ele executa essa linha de código. Também é muito bom para a cozinha. Excel para descobrir apenas pequenos pedaços de código que você pode precisar quando você está certo no Macron's ou quando você está codificado em geral. Então, por exemplo, digamos que eu queira usar um fundo Phil. Então eu quero descobrir o código de cor real que eu deveria usar. Se eu quiser transformar uma célula específica para consultar o exílio e retornar um resultado que você pode usar, use um ponto de interrogação na janela imediata. Andi, Obviamente, você vai precisar saber alguns V B A, a fim de saber que tipo, mas este é todo o propósito do curso, então você vai estar aprendendo muito VB à medida que passamos. Mas por enquanto, eu vou apenas dizer o código que você precisa digitar, que será ativo Cell don interior não cor e eles. Na minha presença, recebo um código de cores, que posso usar, e se eu quiser mudar seu celular, posso copiar essa linha. Onda se é igual a 192 Então, seja qual for a minha célula ativa, quando eu apresentar, ela mudará para essa cor. Então, se eu clicar nesta célula aqui quando eles apresentarem, porque não há nenhuma dúvida Mark, ele agora vai realmente executar essa linha de código. Tem sido como, voltar para a minha célula ativa. Mudou a capa. A janela imediata tem uma série de funções. Ele também é usado um monte de depuração, então vamos continuar voltando para ele enquanto passamos pelo curso. Mas para o momento é mostrar que ele poderia ser usado para executar uma única linha de código, seja para descobrir elementos que você poderia menus em seu código ou simplesmente para testar a linha de código apenas para verificar se ele está realmente produzindo o resultado que você precisa. Eu não posso simplesmente limpar isso e fechá-lo. Então essa era a janela imediata. Então temos a janela de código, e aqui temos o Project Explorer e a Properties Window. Eles estão todos disponíveis no menu de exibição 9. 1.9. Salvar uma pasta de trabalho habilitada para macro: quando sua entidade básica individual notará que você tem um comando de livro escravo, então não há como salvar o código como uma entidade separada. O código é simplesmente parte da pasta de trabalho, e quando você clica em Salvar, ele sempre salvará a pasta de trabalho. No caso de VB A. Lembre-se de que você sempre precisa especificar que sua pasta de trabalho do Excel está habilitada para macro, então você estará salvando como não Excel sm em vez de Doc XLs. Obrigado além disso, é muito negócio como de costume. Então eu vou continuar e salvar isso na minha área de trabalho. Certo, então aí está. É uma introdução rápida ao editor visual basic, o B B E em 10 centavos. Não vamos passar por todos os recursos neste momento porque, enquanto escrevemos, nosso código será encontrado nesses recursos no contexto apropriado. Mas, como você pode ver tem uma interface ligeiramente diferente para os aplicativos de escritório modernos, e você pode simplesmente deslocar entre os dois ambientes, seja pelo presidente todos 10 11 ou clicando em visual basic 10. 1.10. A maneira correta de usar o gravador de macro: O gravador de sala traseira é uma instalação muito útil construída, que permite gerar código não escrevendo você mesmo, mas simplesmente iniciando um gravador e realizando uma série de passos como você antes de passos. Excel gera o equivalente Phoebe um código para você, mesmo se você é um programador experiente. O gravador é uma facilidade útil, mas o que não é é um substituto para escrever em código. O código gerado pelo gravador de macro pode ser usado em suas soluções, mas não como está, você sempre precisa modificar o código para torná-lo mais flexível e mais adequado suas próprias aplicações. Neste vídeo, vamos nos concentrar na melhor e mais eficiente maneira de usar o gravador de macro. A maioria dos livros e tutoriais irá dizer-lhe que, para usar o gravador de macro, você simplesmente começa gravado antes da série de etapas e, em seguida, parou de gravar. Este não é realmente um bom conselho para iniciantes, porque quando você vai aprender em V B A. O que você quer dizer que o interessado em é entender como o código funciona. E no caso de Macros, qual pedaço de código faz o quê? Então minha recomendação é que enquanto você aprende em B B, Ao usar o gravador de macro, você deve fazer uso de um recurso chamado comentário. Os comentários são linhas de ervas descritivas não executadas, que foram encontradas em todas as linguagens de programação, nas quais ele usou para explicar como o código funciona. O que é útil é que enquanto você está gravando uma macro, você pode realmente inserir comentários antes de executar em cada etapa. Essa é a técnica que vamos usar neste exemplo. Então, vamos começar olhando para o produto acabado na pasta de treinamento XLV Be a Level 1 . E na primeira sub-pasta começando, é aberto até 10 Macro gravador terminado para que possamos olhar para o aplicativo acabado que vamos construir usando o gravador de macro. É um exemplo muito simples, que permite ao usuário clicar em qualquer cabeçalho de coluna e ter os dados classificados por esse cabeçalho de coluna. Você também notará que a coluna pela qual temos os dados classificados atualmente é destacada apenas para enfatizar como os dados estão classificados no momento. E a maneira como a solução funciona é que colocamos uma série de botões invisíveis sobre os cabeçalhos das colunas. Se eu escrever muito dinheiro, você verá os próximos destaques para mim. Ele também me dá o menu de clique direito para se livrar do menu de clique direito. Eu simplesmente pressiono escape, e eu tenho um desses em cada uma das minhas colunas, então é isso mesmo. Clique no 2º 1 Press Escape. Você vai notar que em cada caso, eles não estão cheios. É uma pequena tampa à direita de cada um dos Buttner. Eu fiz isso para que o usuário ainda pode entrar em dados e filtrar espiritualmente metade dos botões sujos trabalhadores Normalmente, enquanto que se tivéssemos nossos botões invisíveis, cobrindo toda a cabeça no mecanismo de filtro não funcionaria corretamente e naturalmente. O que fizemos foi anexar uma macro a cada um desses fundos. Então, quando eu clicar com o botão direito , se eu olhar para uma macro de sinal, você verá que uma macro foi atribuída a cada um dos fundos. Então é assim que a solução acabada funcionará. Vamos agora fechar este negócio. Você não precisa salvar e vamos abrir a versão inicial. Então, na pasta de treinamento, gravador macro número 10 começa, e esse é exatamente o mesmo arquivo. Mas sem filas traseiras e sem cirurgia de montanhas escondidas chamado de macro mais fraco em todo o desenvolvedor e clique no registro Makary. Mas o Excel também tem convenientemente um botão na parte inferior esquerda, que você pode acessar que faz a mesma coisa que uma caixa de diálogo, em seguida, exibir, mas pede um nome para sua macro. E nenhum espaço é permitido no nome, você pode apenas usar caracteres alfanuméricos em Sublinhados. Então vamos chamá-lo coluna tornar-se classificada. E como eu disse, se você achar os nomes difíceis de ler e você preferir, você pode apenas colocar um sublinhado como assim apenas para separar as palavras neste caso, eu vou perder os sublinhados na manga como então você especifica onde o macro será armazenado. Se for uma macro importante que você estará usando muitas vezes em muitas pastas de trabalho, você pode salvá-la no que é chamado de pasta de trabalho de macro pessoal e, em seguida, estará permanentemente acessível dentro da sua cópia do Excel. Neste exemplo, queremos apenas salvá-lo nesta pasta de trabalho. Então, qual é essa pasta de trabalho e, em seguida, clique em OK , e, em seguida , como eu disse, o que realmente queremos fazer é descrever e documentar evento cada uma das etapas que estavam realizando. Então minha recomendação é antes que você faça qualquer coisa indo para o editor do Visual Basic, seja pelo presidente todos os 7 11 ou clicando no botão Visual Basic. E aqui você vai descobrir que o Excel criou um módulo. Senhor, na pasta Modelos, você verá que foi criado o módulo um. Deixe-me clicar duas vezes no módulo um. Para cima vem a janela de código. Podemos ver o nosso macron em branco. Então, há o nome que escrevemos, e ele coloca em alguns comentários. Como eu disse, um comentário é uma linha de código herbal não executar. É apenas lá para a referência do programador e para quem está olhando para o código em V B. Os comentários são criados simplesmente iniciando a linha com um apóstrofo, então você verá que todas essas linhas que foram automaticamente inserido, comece com um apóstrofo. Como não precisamos deles, podemos excluí-los, e podemos colocar em nosso próprio comentário. Então, o primeiro passo que vamos antes é classificar os dados. Obviamente, esta é uma etapa genérica, que será executada independentemente da cor que a pessoa clica. Durante este curso, serei colocado em todos os meus comentários em letras maiúsculas. Essa é puramente a convenção que vou usar para que os cometas se destacem. Enquanto você está olhando para este verde, você pode ver imediatamente quais linhas de comentários pelo fato de que eles estão todos em maiúsculas. Então eu vou classificar levemente os dados. Esse é o nosso primeiro passo. É isso. Agora voltamos ao excelente. Antes desse passo, comprimimos o dia todo a cada nível. Vou fazer isso dessa maneira lenta e passar para a guia de dados. Clique no botão de classificação personalizada realmente não importa qual coluna eu procurei porque este será o passo genérico. Muito bom sobre isso, mas eu vou escolher a primeira coluna, que é a última coisa que eu sou como, OK e Excel antes é o tipo. Não vamos voltar ao código, e podemos ver o cud que o Excel gerou para essa etapa. Então todas essas linhas de código se relacionam com a etapa que acabei de executar, que é classificar meus dados. A próxima coisa que eu gostaria de fazer é destacar a coluna pela qual os dados estão atualmente classificados alterando o preenchimento de fundo de que chamá-lo apenas, mas ele encontra para fazer isso. Primeiro tenho que remover qualquer fundo existente, Phil. Caso contrário, conforme o usuário clica em colunas diferentes, todas as colunas acabarão por ter esse filme de fundo. Então o próximo passo é remover o plano de fundo Phil de todas as células de dados. vez, vou colocar um comentário nesse sentido. Então digite um apóstrofo. Vivemos células de dados preenchidas por células de dados, é claro. Quero dizer, todas as células excluem na cabeça em células, então, começando da estrada para então está tudo bem. Eu poderia deixar minha barulhenta nessa posição. Não preciso criar uma nova linha em branco movida de volta para o Excel. Lembre-se, tudo para 11 se você quiser usar um atalho e, em seguida, eu vou selecionar ALS os dados. Eu vou fazer isso usando o teclado, então impressionando controle casa, que me leva a vender um que pode pressionar a seta para baixo para mover para me vender também. Então esses dois passos de controle casa seguido pela seta para baixo bem garantido que eu estou na cela um dois. É a primeira célula de dados. Em seguida, para selecionar todo o caminho para a direita, eu mantenho a mudança de controle pressionando a seta para a direita e, finalmente, para selecionar todo o caminho para a parte inferior. Eu mantenho a tecla de controle pressionada impressionou a seta para baixo. Eu agora tenho dados mais antigos auto selecionados e para remover o plano de fundo. O Phil. Só vou para casa e os sapatos parecem cor. Não, Phil, vamos para o editor visual básico para ver o código que foi gerado. Então lá você pode ver Excel reproduziu fielmente em meus passos, começando com um dois gastando todo o caminho para a direita, estendendo-se ao longo do caminho para a parte inferior e, em seguida, voando o fundo preenchido. Ele especialmente encontrar o passo final que eu quero gravar é aplicar um fundo Phil apenas para a coluna pela qual nós atualmente classificada em. Tudo o que eu realmente quero fazer é gerar algum código genérico, que eu posso emprestar personalizar para tornar inflexível, porque sempre eu não sei como chamá-lo , uh, usuários vão clicar em. No que diz respeito à gravação, vou usar o pagamento da coluna. Mas isso não é significativo. Eu poderia usar qualquer uma das seis colunas que contêm dados, então entrar pode dizer fundo voar, Phil para classificar coluna e, finalmente, voltar a ele. Então e antes disso eu vou usar chamar A é o meu tipo de serviços de código de gravação. Então, novamente, eu só quero as células de dados. Então eu vou usar controle casa para ir para um um, pressionar a seta para baixo para ir para um para e desta vez eu só preciso de deslocamento de controle para baixo para selecionar todo o caminho até a parte inferior. Eles são como uma cruz para casa e especificar a sensação de fundo que eu quero usar. Então vou usar aquele sotaque azul claro e esse é o meu último passo. Então agora eu posso parar gravado ou usando este botão conveniente, que aparece sempre que você começou a gravar no canto inferior esquerdo. Ou, claro, eu também posso ir para a guia desenvolvedor e não vai parar de gravar. Mas quando eu voltar ao visual basic, eles são as três chances de código que eu gerei que inserindo comentários, é muito mais fácil ver qual bit de código faz o quê. Então tenha isso em mente. Se você estiver usando o gravador de macro, certifique-se de que priety antes que precisamos passo, você apenas indo para a janela de código e você colocar um comentário sobre depois de ter gravado uma sala de trás . Em seguida, você terá seções bem rotuladas que dizem o que cada bit de código faz. Então é isso para gravar a macro. Não é utilizável. Esta é uma das coisas sobre o gravador macro. Não gera códigos utilizáveis. Você ainda tem que modificar. Então este é apenas o primeiro passo. No próximo vídeo, analisaremos a modificação do código que foi gravado e gerado para nós para que ele se torne mais flexível. 11. 1.11. Analisando uma macro gravada: tendo gravado uma macro, seu próximo passo é geralmente tentar entender todas as linhas de código que o gravador de macro gerou para você na pasta de treinamento. 01 Começando. Não é o número 11 analisando uma macro gravada, e esta pasta de trabalho simplesmente contém a macro, que eu gravei no vídeo anterior. Então, quando formos para o desenvolvedor Visual Basic, se você abrir a pasta Modelos, você encontrará o Módulo um. E quando você abrir que você verá o código que foi gerado quando eu gravei aquele macron . Então, neste exemplo, queremos apenas olhar para essas linhas de código e pensar de volta para essas etapas que realizamos para gerar essa. boa maneira de fazer isso é ter uma tela dividida onde temos o código à direita na rua de trabalho à esquerda. Então eu vou fechar essas duas janelas, o explorador de produtos na janela de propriedades, para que minha janela coberta agora ocupe todo o espaço disponível. E então eu vou ancorar minha janela de código à direita apenas pegando a janela, arrastando-a para a direita. E então eu vou ancorar a planilha à esquerda apenas pegando a janela da planilha, arrastando-a todo o caminho para a esquerda. Então eu vou fazer a janela direita mais larga na janela esquerda de seu mullah. Então a primeira coisa que fizemos foi classificar os dados. Então, de volta ao Excel. Vamos para a guia de dados porque eu reduzi o com da minha janela. Tudo é meio espremido, então eu preciso classificar e filtrar classificar. Então aqui está a caixa de diálogo de classificação e vamos ver se podemos comparar o código com o que realmente está acontecendo na janela de sal. Então a primeira linha termina com não limpar, e esta é basicamente uma linha que limpa os parâmetros. Na verdade, não gravei esta linha. É apenas um comportamento inteligente por parte do Excel. Se houver critérios existentes na janela de classificação, basta adicionar em maio resultados imprevisíveis, então é melhor limpar os critérios existentes antes de começar. Isso é o que a primeira linha fará que a segunda linha, que se espalha sobre várias linhas. A propósito, , se eu voltar para a janela de código e destacar esta seção aqui. Space underscore, que você verá em várias linhas, é a técnica usada onde você deseja dividir uma linha muito longa em duas ou mais linhas. Então nessa longa linha, nós, primeiro lugar, especificamos qual coluna vamos classificar por. Então, na interface, nós realmente escolhemos o nome da coluna, mas no código você verá que ele realmente coloca a referência da célula fora da coluna de classificação. Então ele vai de um para todo o caminho até o fundo da coluna A pelo menos a parte inferior dos dados na colônia. E, em seguida, o próximo parâmetro é equivalente a este, a classificação em e você pode ver que temos Excel classificar em valores, que é o equivalente a escolher valores neste menu suspenso. Em seguida, o próximo parâmetro é a ordem, que é, claro, oito é no Excel ascendido. Em seguida, passamos para a própria classificação. Então, tudo isso realmente é o nível de anúncio e, em seguida, especificar o que está em cada um desses três suspensos. Em seguida, passamos para o tipo em si, Primeiro de tudo o intervalo. Em segundo lugar, se os dados tem cabeçalhos Sim, meus dados teve seu Assim que caixas de seleção equivalentes ao cabeçalho ponto Sim, By the way, esta estrutura com e terminar com você verá muitas vezes quando usado um gravador de macro em que significa, basicamente, é que todas as linhas entre o dentro do final com são efetivamente precedidas por este pedaço de código. Temos uma identificação para as ruas de trabalho. É assim que as despesas funcionam Rua que você pode ver aqui está sendo identificado em VB um código . E, em seguida, temos a função ou método de classificação de ponto para classificar na planilha ativa usando esses parâmetros. Então, todas essas linhas que realmente começam com um ponto são efetivamente precedidas por esta declaração, e ele salva a instrução de ser repetidamente avaliada. E isso nos salva de digitar na declaração. Muitas vezes. Vamos trazer este tipo quando eles estiverem de volta. Então temos o fato de que meus dados têm cabeçalhos. Então o caso do fósforo. Nós confinados por entrar em opções, e aqui podemos ver o caso sensível. Está desligado, modo que a caixa é igual a falsa orientação é de cima para baixo. O método de classificação é a única coisa que não veremos que o Excel sempre coloca em quando você usa o gravador se refere apenas a caracteres chineses, então esse foi o tipo que fizemos. Em seguida, seguimos em frente para selecionar a folha inteira em primeiro lugar, indo para vender oito para. E então eu digitei Shift controle, seta para a direita. Veja aqui no casaco Excel, também, certo? E então eu me amarrei ao controle. Deslocamento para baixo, Arrow Exel para baixo. Finalmente, eu removi o fundo. Phil e Excel. Nenhum é algo que é imediatamente reconhecível para conseguir isso, que eu destaquei apenas a coluna de classificação. E novamente eu usei o controle de casa para baixo Arrow para começar com Sally, também. E então eu pressionei Control Shift Seta para baixo para selecionar toda a coluna até a parte inferior. Mais uma vez, temos a sintaxe do excel para baixo como resultado da gordura. E finalmente, apliquei azul claro Phil nessa seleção. Então você vai ver. Há muito que é imediatamente reconhecível em que podemos identificar como correspondendo aos passos que realizamos ao gravar a macro 12. 1.12. Melhorar uma macro gravada: Uma vez que você começou a entender o código gerado pelo gravador de macro, você quase certamente deseja modificar esse código e torná-lo um pouco mais adequado para suas aplicações específicas. Então, em nossa pasta de treinamento, entramos em zero não vai começar, e isso é aberto. Número 12. Melhorar fundo gravado. O que vamos para Visual Basic. Na pasta Módulos, você encontrará o Modelo 1. Quantos clique duas vezes Para abri-lo, você verá o código familiar, que é simplesmente o código que eu gravei um par de vídeos de volta usando o gravador de macro as áreas. Mas você é o que mudar um tipicamente aqueles que resultam do fato de que o Excel tem sido muito específico na criação do código. Quando você está gravando uma macro, inevitavelmente, a fim de alterar uma determinada seleção de células, você tem que selecionar fisicamente esse intervalo de células. Caso contrário, o Excel não tem como saber quais vendas você deseja modificar. Assim, o resultado final é Excel registros referências a células muito específicas neste exemplo, podemos ver aqui, mas temos uma referência a um pé de trabalho específico. A planilha Despesas, que é a planilha que contém nossos dados. Mas isso significa que se quisermos colocar este código em uma pasta de trabalho que não tinha um trabalho de despesas Rua, o código seria imediatamente quebrar. Da mesma forma, quando chegamos a especificar a coluna para classificar por, temos um intervalo muito específico de células sendo referido. Se tentarmos executar o código de uma planilha que tem um número diferente de linhas ou colunas , ele não vai funcionar. E novamente aqui estamos sempre nos classificando. Por Colin A. Nós queremos ser capazes de classificar por qualquer coluna que o usuário especifica, então nós vamos precisar tornar visível, flexível novamente aqui quando nós vêm para especificar o intervalo de classificação que realmente queremos. O intervalo de classificação a ser todas as células que contêm dados. Não, um intervalo específico de células a partir de um é bom, mas não queremos necessariamente terminar na coluna F em. Não queremos necessariamente parar na Rose 6601. Então, vamos começar abordando o problema fora de uma referência de planilha específica. O que eu vou fazer é substituir esta referência por uma mais geral, e a sintaxe que eu vou usar é simplesmente a palavra folha ativa. Isso significa qualquer folha em que os usuários estão trabalhando atualmente. Basicamente, se você estiver clicando nos botões, isso significa que este assento que contém os dados deve ser a planilha ativa. Caso contrário, você não seria capaz de interagir com ele agora. Obviamente, é preciso experiência para saber que essa é a sintaxe correta. Mas, por enquanto, vamos fazer isso com base na necessidade de saber. Obviamente, medida que você passar pelo curso, você vai se tornar cada vez mais familiarizado com esse tipo de sintaxe. Tão ótimo para copiar e usar o comando replace. Como na maioria dos ambientes Microsoft, um atalho para substitui o controle H. Alternativamente, você vai encontrá-lo no menu de edição, e eu vou colar na caixa encontrar Qual? Então é isso que queremos substituir. Tivemos que substituí-lo com folhas ativas e eu acho, substituir todos e excel multas três ocorrências. Esse é um problema vendido. Agora podemos usar isso em qualquer pé de trabalho, e não teremos um problema em seguida. Vamos resolver o problema fora desses intervalos específicos. O que vai lidar com este vídeo é o fato de que estamos parando em um intervalo específico, então não queremos apenas parar em uma escrita específica. Queremos ir até o fundo e da mesma forma aqui. Não queremos parar na coluna se quisermos ir até à direita e depois até ao fundo. , Felizmente, temos um código que faz isso. Se você se lembra, quando eu gravei o código, eu pressionei Shift controle direita para dar todo o caminho para a direita e, em seguida, controle sentar para ir todo o caminho para o fundo. E da mesma forma, aqui novamente, eu comecei a pressionar a mudança de controle para baixo para ir todo o caminho até o fundo para que possamos usar a mesma técnica aqui em Dhere para ter certeza de que não estamos parando em uma estrada específica ou neste caso, nós não paramos isso em uma cor específica. Mas antes de tentarmos replicar essa técnica, vamos resolver outro problema. O fato de que foram selecionadas as células antes de aplicar um padrão para o Quando você está gravando uma linha de trás, você não tem escolha a não ser fazer isso. Mas quando você está certo em V B A, é desnecessário e é indesejável. porque retarda o seu código. Então o que poderíamos fazer em V B A é se livrar de todas essas declarações selecionadas e simplesmente deixar uma referência que especifica as células que queremos mudar. Então vamos começar do início. A primeira coisa é com selecioná-lo um para e, em seguida, foram selecionados todo o caminho para a parte inferior, começando de um para então onde temos a seleção de palavras desde na linha anterior que selecionamos um para seleção realmente significa um para. Então, tudo o que temos a fazer é copiar o intervalo de instrução oito para e onde temos seleção na seguinte linha. Podemos substituí-lo com intervalo oito para Isto significa que esta linha está agora obsoleta e podemos nos livrar dele para selecionar a linha de código. By the way, ele usou a mesma técnica que você faz no Microsoft Word. Posicione o cursor apenas à esquerda da linha até que você não tenha seta apontando para a direita em oposição a este, que faz algo completamente diferente. Então vai ser apontado para a direita. Muitos podem clicar uma vez para selecionar uma linha ou clicar e arrastar para selecionar linhas sucessivas. Então aqui eu vou apenas clicar nesta linha e, em seguida, pressionar delete. A próxima mudança que vou fazer requer um pouco de familiaridade com V B A. E isso, basicamente, basicamente, é encadear essas duas declarações. Então, há a minha mudança de controle, direita, selecionada todo o caminho para a direita, e depois há a minha nave de controle para baixo. Ela gosta de tudo até o fundo no que eu posso fazer é encadear essas duas declarações para eles tenham uma após a outra para que eu possa me livrar de todo esse código para que eu esteja dizendo Vá todo o caminho para a direita, manuseando ouro o caminho para o fundo porque eu acabei de me livrar de uma linha. Acabei com um colchete extra que não faz mais sentido, então vamos ter que apagar isso antes de prosseguir. Quando me afastei da fila, desisti dos minutos dele. Óptimo, porque se não fosse, ficaria vermelho. E a última coisa que posso fazer é o que fiz. Primeiro de tudo, esta afirmação refere-se a uma série de células, Em outras palavras, partir de maio para ir todo o caminho para a direita e todo o caminho para a parte inferior dos dados, tendo referido que gama de células e, em seguida, selecioná-lo e ele faz algo para esta eleição. Então o que eu posso fazer é que eu posso selecionar a instrução que se refere às células e substituir a seleção de palavras com essa declaração. Isso significa que a linha que faz a seleção agora pode ser excluída. E eu cometi um pequeno erro aqui porque eu tenho alcance. Então eu tenho uma declaração, e então eu fechei meu alcance neste momento. Então a declaração de intervalo termina aqui. Ele realmente precisa terminar após o excel para baixo para que o intervalo pega. Tudo começou de maio para ir todo o caminho para o imediatamente, baixo, então aquele colchete que eu tirei era o errado. Este é o que eu realmente preciso tirar. Por isso vou livrar-me desta. E que colchetes estreitos no final aqui. Então eu tenho meu alcance externo e então dentro dele, eu tenho tudo isso. Então isso é corrigido este sobre o que eu posso fazer é copiar esta declaração, e então quando eu estou fazendo meus tipos, aqui está a minha instrução intervalo para fazer este tipo. Em vez de ter este intervalo muito específico, agora posso colar a instrução que usei anteriormente. A única diferença, claro, é que eu não quero começar de um para eu quero começar a partir da primeira célula um um. Então mudei meus dois para uma vez. Então, durante isso, obviamente, leva um pouco de experiência nesta fase. Tudo o que eu quero fazer é apontar as mudanças que você faz em seu código o fato de que você não precisa selecionar elementos. Você não pode apenas se referir a eles, e seu código funcionará muito mais rápido. Obviamente, medida que passarmos, o código terá muita prática em trabalhar com esses meandros. Então vamos agora fazer a mesma coisa aqui em baixo. Estamos trabalhando com seleção, tendo selecionado o intervalo A para que pudéssemos simplesmente substituir a seleção de palavras pela chuva J dois. Isso significa que esta linha poderia ser excluída e, em seguida, finalmente, temos uma declaração que se refere a todas as células começando de uma maneira muito antiga para o fundo. Em seguida, selecionamos as células referidas para fazer algo com essa seleção. Então tudo o que precisamos fazer aqui é copiar essa declaração que faz referência à célula e substituir a seleção de palavras com essa declaração. Isso significa que esta linha agora pode ser relacionada. Então agora temos uma declaração que pode substituir esta referência de intervalo para células específicas, começando de um a um fim em uma estrada específica para que possamos substituí-lo novamente. Vamos para dentro da declaração de alcance. Nós não podemos ser tudo dentro que começando em um dois e terminou em qualquer que seja atualmente a última célula contendo dados. Então nós copiamos isso e substituímos essa referência muito específica por aquela declaração mais flexível . Fizemos algumas melhorias aqui, e como eu disse, a única coisa que resta é o fato de que estamos sempre nos referindo a Chamá-lo quando procuramos . Mas quando mudamos o plano de fundo da coluna de classificação, então vamos abordar isso no próximo vídeo, seremos atacados em macros. Dois botões 13. 1.13. Atribuir uma macro a um botão: A última coisa que queremos fazer é anexar nossa macro a uma série de botões, e o que vai precisar fazer é modificar a macro para que o botão que você clicar determine a coluna pela qual procuramos. Então vamos para a nossa pasta de introdução 01 e nenhum número 13 atribuindo a macro a um botão. E esta é basicamente a versão modificada da nossa linha de trás que fizemos no último vídeo. Então, quando entrarmos, aqui está o nosso código com todas as alterações que fizemos. Então o que queremos fazer agora é criar uma série de botões. Então, vou ligar o modo de filtro. Então temos nossas flechas cheias. Vamos nos certificar de que os botões estão à esquerda dessas setas no Excel. Qualquer coisa pode ser um botão. Então eu vou entrar em formas e escolher um retângulo como o fundo. Então, se você está projetando soluções e você tem botões PNG realmente atraentes em seu site, você poderia apenas usá-los como botões no Excel. Qualquer coisa que você gosta no Excel pode ser um botão, então eu vou apenas desenhar o 1º 1 e, em seguida, eu vou copiar isso para todos os outros quando colar em sua útil, se você clicar na alma em que você deseja colar e, em seguida, quando você colar pastas excel dentro daquela cela e, em seguida, vai ser apenas um caso de redimensionamento no shopping. Então isso o que precisa ser significativamente maior neste precisa ser significativamente menor . E nós apenas modificamos a altura de um par destes para que eu apenas, uh, redimensioná-los. E então a próxima coisa que queremos fazer é nomear cada um dos botões. Nome em um botão é muito semelhante ao nome em um intervalo de Eus, mas você tem um pouco mais de flexibilidade em que o nome pode conter espaços, então você verá que o nome padrão aqui é retângulo um com esta face. Então o que eu vou fazer é apenas chamá-los, chamá-lo de um ou apenas C O L será suficiente coluna B e assim por diante. Dessa forma, se tivermos ah, Work Street, isso tem um monte de colunas que acabamos usando duas letras e, uh, isso ainda funcionará. Então carvão com um espaço em um e, em seguida, muito importante, você tem que pressionar enter, caso contrário o nome não se registra. Eu só vou copiar a primeira parte dos nomes colados em cada vez. Então isso é B e, uh, veja e, uh, chá e, uh, E e, uh, e, finalmente, este cheque duplo que o nome civil ficou preso porque é muito fácil quando você nomeia Isto para que não se registre, por isso estão todos nomeados na Promotoria. A próxima coisa que eu vou fazer enquanto eles são agradável e fácil de selecionar, é anexar a macro porque basicamente sua lei tem a mesma macro anexado a eles. Mas o nome é o que vai distingui-los. Então, para selecioná-los todos tendo clicado no primeiro, eu mantenho o shift click em cada um dos outros que, como, como, clique com o botão direito em qualquer um dos judeus atribuídos backroom. Sim, o nosso macro. Nós clicamos nisso como Ok, então eles agora terão a mesma macro atribuída a eles. Agora podemos torná-los invisíveis enquanto eles ainda realçou tudo isso clique com o botão direito e escolher objeto formato. E então eu coloquei a transparência Phil 200% na linha. Transparência 200%. Então eles são completamente transparentes e eles ainda estão lá. Quando eu clicar neles, eles executarão a macro. E, claro, no momento, eles são sempre ordenados por coluna A porque é isso que nossa macro estipula . Então, o próximo passo é entrar na guia do desenvolvedor e remediar isso. Então o que queremos fazer é substituir essa letra A pela letra que o usuário clicou na letra da coluna em que os usuários clicaram. E para fazer isso, vamos usar uma variável estará discutindo variáveis na próxima seção desta série, mas por enquanto, deixe-me explicar o que é uma variável. É muito parecido com uma referência de célula em uma fórmula do Excel. Então, por exemplo, se em uma fórmula do Excel temos igual si tu menos D para ver é realmente uma maneira de dizer qualquer valor que seja na célula C dois menos qualquer valor que esteja na célula D para nós realmente não nos importamos o que o valor é, nós apenas especificamos sua localização. Variáveis alcançam algo muito semelhante. Você nomeia sua variável de alteração Accel atribui espaço na memória e associa esse nome ele. Você pode então colocar qualquer coisa que você precisa se referir em seu código dentro dessa variável, e você pode manipulá-lo exatamente como você faz com referências de célula. Então vamos ver como você declara uma variável. Só vou colocar um comentário nesse efeito. Mas então veremos como você atribui um valor a uma variável, modo a declarar uma variável usada a palavra-chave dim, que é curta a dimensão, e então você cria um nome para a variável. É muito útil se o nome que você cria dá uma pista sobre o tipo de dados que a variável irá conter. Neste caso são Variável vai trabalhar com texto e texto em V B. A é referido como uma string. Então, por essa razão, vou prefixar o nome com str. E, em seguida, uma vez que a variável se destina a especificar a coluna, eu vou chamá-lo str Coluna. E então a última coisa que eu preciso fazer é especificar para os propósitos de V B A para especificar o tipo de dados, e eu faço isso com a palavra-chave como e como dissemos, é uma reta. Então agora temos essa variável disponível em Dhere. Queremos atribuir um valor a ele, e o valor que queremos atribuir é o nome da parte inferior em que eles clicam. Então, seja qual for o nome associado a esse botão, queremos acabar em nossa variável ou, para ser mais específico, queremos que a letra no final do nome acabe em nossa variável. Nós realmente não precisamos desta parte para atribuir um valor a uma variável. Você coloca a palavra-chave opcional, deixe seguido pelo nome da variável str khalib igual a, e você, em seguida, colocar uma instrução que gera o tipo específico de dados que a variável deve conter. Portanto, precisamos colocar uma declaração que irá produzir ou se referir ao nome da parte inferior que os usuários clicaram fora. E há uma declaração especial em V B A, que faz essa aplicação, não chamador. Então essa instrução vai pegar o nome inteiro, e então podemos usar VB, uma função que é muito semelhante a uma função encontrada no Excel. É a função intermediária. Você pode muito bem tê-lo usado no Excel. Ele extrai uma string de dentro de outra string, então este é sabemos aplicativo ponto chamador. Isso produzirá o nome inteiro como no frio. Seja, por exemplo, queremos extrair a parte ser. Então isso começou a partir do caráter. Cinco, não é? Para que pudéssemos ver o CEO. Bem, são três, então o caractere de espaços e a letra começa no personagem. Cinco. Se for ah, uma planilha grande. Então você tem duas letras na referência da coluna. Então queremos pegar os dois, mas queremos começar no personagem. Cinco. Muito fácil de fazer com a função de lance. Então, primeiro de tudo, colocamos feitas no início dos colchetes abertos e, em seguida, o Excel exibe uma dica de ferramenta que nos diz quais argumentos a função intermediária precisa. Então o festival precisa de uma corda, que já fornecemos. Isso é chamada de ponto de aplicação, então colocamos uma capa. Em seguida, ele precisa saber onde dentro dessa string para iniciar caracteres extraídos. E como dissemos, começamos do caráter. Cinco. Você notará que há colchetes em torno do terceiro parâmetro, que é a lente ou o número de caracteres a serem extraídos, e isso significa que é um parâmetro opcional. Se nós o encontramos, que vamos fazer, Então Excel simplesmente extrai todos os personagens dessa posição até o final desta bebida, e isso é exatamente o que queríamos fazer. Então, se temos uma grande rua de trabalho e estamos usando duas letras para se referir à coluna, Excel irá extrair aqueles de assim. Tendo executado essa linha, coluna SDR irá agora conter a letra apropriada na etapa final é substituir um com SD. Vou chamá-lo de esta técnica, que se refere ao seu invólucro Uma nação, funciona exatamente da mesma maneira nas planilhas do Excel. Então, se você usou fórmulas de texto, você pode muito bem ter se deparado com essa técnica. Nós excluímos o A e prefixo que citado String com coluna str e nós ligamos os dois componentes com uma mudança comercial e sete, que é o operador inato concoct. Então, dizendo qualquer letra ou letras foram extraídos em coluna str, segui-los com um para que irá produzir a cor inicial apropriada. Então eu preciso de vários tempos de guerra, então eu vou apenas copiá-lo. Precisamos dele aqui, é claro, e depois mais para baixo, quando mudamos a cor de fundo de uma célula, também precisamos dela aqui e finalmente aqui. Então, usando essa variável preenchida com a letra ou letras de coluna apropriadas, podemos então prefixar os dois, que é a nossa estrada ponto de partida para com a letra apropriada. Em outras palavras, a letra que corresponde à coluna. O usuário realmente enganou. Então vamos testar se isso funciona. Ok, eu vou salvar minhas alterações foram apenas clicar em cada uma das colunas. Então, primeiro nome, data da filial , categoria de quantidade, e então sobrenome, que era o nosso original, e eles funcionarão bem. Então isso conclui a nossa pequena mini aplicação. Agora está funcionando. Está bem. No vídeo final, veremos se nosso código é flexível o suficiente para nos permitir pegar essa solução e usá-la em uma planilha completamente diferente. 14. 1.14. Testando uma macro em outra planilha: Então testamos que nossa macro funciona na folha em que foi originalmente gravada. O que vamos fazer neste vídeo final é testar que ele funciona em planilhas completamente diferentes . Então vamos para a nossa pasta de treinamento. Zero não iria começar. Vamos em primeiro lugar, abertamente terminou um, que é o que terminamos no último exercício. E, ao mesmo tempo, vamos abrir o chamado Teste. Como você pode ver, esta é uma planilha ligeiramente diferente. Não tem tantas rosas, mas tem mais colunas. Tem uma coluna extra, e claro, as colunas terão nomes diferentes. Então, a primeira coisa que queremos fazer é copiar a macro em. Isso é muito fácil de fazer. Nós somos um desenvolvedor. Visual Basic fechou as janelas para evitar confusão aqui, nós concedemos para projetar. Então aqui está o projeto para o finalizado, e ele tem o projeto para o teste. Um acabado. Um tem uma pasta Modelos com o modelo um nele, e, claro, o teste não tem modelos para copiar o modelo. Nós simplesmente arrastá-lo de um projeto para o próximo é fácil. É assim? Este agora tem o seu múltiplo dobra até o seu modelo, um sem código. Isso é fácil. A próxima coisa que queremos fazer é copiar os botões. Então eu vou clicar com o botão direito no primeiro cada vez que você escrever. Como, é claro, o menu pop-up aparece. Lembre-se, você pode pressionar Escape se quiser se livrar dele, e então eu vou segurar o turno. E se eu agora ir para o final, um em, em seguida, apenas para a direita, clique em cada um deles com a tecla shift pressionada, Então eu posso agora copiá-los. Mude para a minha folha de teste em uma pasta, para que eles vão ser muito difíceis de trabalhar enquanto eles estão invisíveis. Então, com eles selecionados, vou clicar com o botão direito do mouse para usar o objeto de formato e apenas remover a transparência. Então eu faço 0% transparente para torná-los mais visíveis novamente para que eu possa vê-los todos. Então isto é, obviamente, há seis deles no original. Este obviamente pertence a chamar F. Eu vou clicar com o botão direito nele, lívido para chamar um fôlego, e depois redimensioná-lo. E neste ponto, eu posso apenas ir para os dados e trazer filtro para cima. Então eu sei que tamanho debate-os. E lembre-se, cada vez que é clique com o botão direito para selecionar o, em seguida, escapar para se livrar desse bebê. Então este é para o chamado E aqui. Eu tenho um pouco redimensionado, um par de fígado, um pouco grande, mas isso é engraçado. Então eu vou copiar este clicando na coluna G colar redimensioná-lo e, claro, claro, renomeá-lo para que se torne carvão Espaço G. E então lembre-se de pressionar o centro para que ele registre. Então a última coisa é certificar-se de que eu tenho a macron correta atribuído, que é a macro desta pasta de trabalho, não a macro do original. Então, para evitar confusão, eu vou fechar os originais atravessar o final fechar que um para baixo. Agora eu vou manter pressionada a tecla shift em apenas clique com o botão direito em cada um destes Teoh selecionável. Em seguida, com a bola selecionada, eu posso escolher um sinal de volta linha. Agora eu apago o que estava lá antes. Clique na macro desta pasta de trabalho e clique em OK, em seguida, a última coisa é torná-los invisíveis novamente. Eu ainda tenho minha tarefa de formato pago aberto para que eu pudesse apenas aumentar a transparência mais uma vez 200 para torná-los todos invisíveis. E deve ser isso. Então agora eu posso apenas clicar em cada uma dessas colunas. Vamos apenas rastrear o shopping e você pode ver que funciona bem. Vamos descer até o fundo e ter certeza que o Phil não vai além do fundo. Então é isso. Então temos uma macro, que é flexível o suficiente para ser usado em qualquer planilha. Nós só precisamos da paciência para copiar a macro através de uma cópia dos botões para os cabeçalhos das colunas e, em seguida, basta redimensioná-los para corresponder às colunas nessa planilha particular. Então isso completa esta seção, onde nos concentramos principalmente em usar o gravador macro para gerar código em homens. Teoh, olha. Um ajuste nesse código para torná-lo mais útil e mais flexível na próxima seção irá mergulhar em VB um Andi apropriado. Comece a discutir alguns dos elementos-chave que você precisa para poder escrever seu próprio VB um código a partir do zero 15. 2.1. O modelo de objeto Excel: nesta seção, vamos discutir alguns dos elementos-chave que vão juntos para formar o código VB oito , e vamos começar com algo que é um conceito bastante importante. Um objeto é uma coleção de código que permite que você como um programador para replicar o tipo de interação com excel que você poderia fazer um uso zey de. Então, como usuário, sua primeira interação é com o próprio Excel. E aqui podemos obter um arquivo e escolher opções. Você tem acesso a excelentes, configurações gerais. Então você não está trabalhando em uma pasta de trabalho específica. Você está apenas definido em parâmetros que serão aplicados em todo o seu trabalho dentro do Excel no modelo de objeto do Excel. O objeto do aplicativo representa o próprio Excel. Em seguida, temos pastas de trabalho, então eu posso ir para uma pasta de trabalho existente aqui. Eu vou para a segunda seção, a segunda pasta dentro da nossa pasta de treinamento zero para elementos-chave do código V B A. E então eu vou abrir 01 o modelo de objeto Excel. Agora tenho uma pasta de trabalho aberta. E, claro, eu também poderia criar novas pastas de trabalho, então arquivar novas e uma pasta de trabalho em branco. Então agora eu tenho que trabalhar livros abertos dentro do Excel no modelo de objeto do Excel. A Coleção de Pastas de Trabalho. É uma pasta de trabalho que você tem aberto dentro do excel. Quando eu quero fazer qualquer trabalho no Excel, eu preciso me concentrar em uma pasta de trabalho específica. Então eu ir da coleção de pastas de trabalho para o objeto de pasta de trabalho. Então, dentro da coleção de pastas de trabalho, eu me concentrar em uma pasta de trabalho específica, e, em seguida, dentro dessa pasta de trabalho, eu tenho uma série de outros objetos disponíveis para mim. Provavelmente o mais importante desses objetos é a coleção de planilhas, e isso é as planilhas que eu tenho dentro da pasta de trabalho. Então este exemplo de pasta de trabalho só tem que trabalhar folhas, bem como a coleção de planilhas tem também a coleção de folhas. Como você sabe, bem como planilhas, você pode ter folhas de gráfico. Então, se eu clicar com o botão direito do mouse e escolher, inserir e, em seguida, escolher um gráfico, eu agora tenho uma folha de gráfico perfeitamente significado menos. Mas só para ilustrar isso, bem como planilhas, você não pode ter folhas filho. Assim, a coleção de planilhas inclui planilhas e encargos, enquanto, é claro, a coleção de planilhas inclui apenas planilhas. Se eu precisar fazer alguma entrada de dados, eu vou me concentrar em uma planilha particular. Então, dentro da coleção de folhas ou planilhas. Agora eu me concentrar em um pé de trabalho particular dentro da worksheet. Eu então tenho uma infinidade de intervalos de células, cada combinação disponível, e cada uma dessas combinações possíveis é geralmente referida como um objeto de intervalo. Depois de ter alojado em um intervalo específico dentro das planilhas, normalmente queríamos fazer algo com elas. Talvez queiramos ler um valor de uma célula. Podemos querer mudar o formato em um intervalo de células e assim por diante. Tudo o que podemos querer é apenas dados Enderson em uma única célula. Então aqui eu poderia digitar uma quantidade e, em seguida, pressione guia para mover ao longo para a descrição e assim por diante. A entrada que você coloca em uma célula ou células é referida como o valor. Então vamos refazer nossos passos. Começamos com o aplicativo, que é o próprio excel. Nós olhamos dentro da coleção de pastas de trabalho que estão atualmente abertas. Entramos em uma pasta de trabalho específica e, em seguida, dentro dessa pasta de trabalho, examinamos a coleção de planilhas. Estamos em casa em uma planilha particular. Navegamos para um intervalo específico neste caso, uma única célula, e então modificamos o valor dentro dessa célula. Então, vamos agora excluir essa quantidade. Vamos agora dar uma olhada no VB uma sintaxe para fazer isso programaticamente. Então, passamos a desenvolver, clique no visual basic ou simplesmente pressione o velho F 11. Eu também vou fechar a pasta de trabalho em branco indesejada que eu criei. Então agora eu só tenho um projeto aberto, o que torna a vida um pouco menos confusa e também vou excluir a folha de acusação, que eu realmente não precisava. Então, vamos apenas clicar com o botão direito e excluir, então a primeira coisa que precisamos para criar uma macro é um módulo de inserção de módulo. Vou mudar o nome só para lembrá-lo que você pode. Vamos chamá-lo de modelo de objeto pagar seis. Agora eu preciso da macro em si, e eu posso apenas digitar o código ou eu posso clicar na janela de código e ir para inserir procedimento. E vamos chamar o procedimento. Inserir alergia a dados. Provavelmente lembras-te. Nenhum espaço é permitido, então há minha macro em branco e vamos agora pensar sobre navegação. Então nós tivemos aplicação, e então o próximo passo é obter coleção de pastas de trabalho dentadas e especificar a pasta de trabalho que queremos trabalhar em nós, em seguida, tipo de ponto Então o ponto pode ser visto neste contexto como um caractere drill-down . Então você está dizendo para olhar dentro, sobressair e depois encontrar um dos objetos dentro dele. Nesse caso, estamos fora para livros de trabalho, em seguida, entre colchetes enfraquecer, digite o nome da pasta de trabalho. Então a pasta de trabalho tem esse nome longo aqui. No entanto, temos uma alternativa. Também podemos dizer ponto aplicativo e você verá que uma das propriedades um dos elementos dentro do objeto aplicativo é esta pasta de trabalho Andi. Esta sintaxe é usada para se referir à pasta de trabalho que contém a própria macro. Então, isso é muito mais conveniente para nossos propósitos. À medida que você digita, verá que o excel exibe todos os elementos que são membros fora do objeto em que você está trabalhando no momento. Assim, o ponto traz automaticamente toda a sintaxe possível que você pode usar neste momento , uma forma muito semelhante a quando sua digitação funciona de forma muito semelhante a quando você está digitando funções dentro de uma fórmula. Uma vez que o excel exibe o que você deseja, basta pressionar a tecla tab para inseri-lo em seu código. Portanto, agora especificamos uma pasta de trabalho dentro desta pasta de trabalho. Agora queremos fazer drill-down dentro da coleção de planilhas e home in sobre os pés de trabalho corretos , modo que as planilhas que estamos interessados em é chamado formulário de fatura. É também os primeiros pés dentro da pasta de trabalho para que possamos fazer duas coisas. Nós festival mencionamos uma coleção, e para fazer isso, colocamos planilhas ponto novamente. Basta pressionar Tab. Mas o Excel o exibe na lista e, em seguida, entre parênteses. Enfraquecer fazer uma de duas coisas porque é a primeira worksheet enfraquecer tipo A um. Obviamente, isso pode mudar muito facilmente. Se alguém fosse inserir uma planilha extra na frente dela, ela se tornaria planilha para. Então, talvez uma abordagem melhor é usar o formulário de fatura de nome em porque é texto, ele tem que ir entre aspas duplas. Tendo especificado a planilha, agora queremos detalhar e especificar o intervalo, e o intervalo que estamos interessados é vender um 15. Então, para especificar, eles vendem. Usamos os mesmos colchetes de intervalo de imposto, cita um 15 e, finalmente, queremos alterar o valor dentro dessa célula e a sintaxe para fazer isso não é valor igual e, em seguida, o valor que você deseja aparecer na célula. Se for numérico, você pode simplesmente colocá-lo sem aspas. Se é texto, então obviamente ele precisa ir entre aspas. Então vamos dizer que queremos o número para o qual será a quantidade, modo que nos dará a quantidade e, em seguida, a descrição. Como você pode ver, ele tem 15 anos aqui. Temos células de três meses, então o preço unitário torna-se E 15 em vez de ver 15. Então, de volta ao nosso código, agora podemos simplesmente copiar isso. Onda mudou a letra então isso vai se tornar um B sobre isso vai se tornar um E. A descrição será texto, então ele tem que ir em aspas duplas e, em seguida, nosso preço. E lá temos. Então essa é uma introdução muito breve ao que é chamado de sintaxe de pontos em. Esta é a sintaxe que você usa para navegar pelo modelo de objeto do Excel. Vamos apenas testar nosso código pode controlar que o cursory em algum lugar dentro da macro, basta clicar no botão executar, e então quando voltarmos para a planilha, podemos ver que temos nossos três valores inseridos. E, claro, a fórmula então resolve o resultado. Então essa é uma introdução para a primeira parte do quebra-cabeça, que é o modelo de objeto do Excel. No próximo vídeo, vamos dar nossa primeira olhada na Phoebe, um equivalente sobre as diferenças. Claro, não há interface, o que lhe dá acesso a ser A. É puramente um modelo programático. Onde é, obviamente, com o Excel você tem visual você, I que você pode realmente trabalhar com, modo que está chegando em seguida. 16. 2.2. Aulas e funções de VBA: Neste vídeo, vamos passar de olhar para o modelo Excel Object para o nosso primeiro olhar para o VB, um modelo de objeto diferente do modelo Excel Object, que representa algo com o qual estamos familiarizados e com o qual interagimos enquanto usamos Excel, o V B um modelo de objeto está oculto. Ele reside na memória, e essencialmente consiste de uma série de funções que são fornecidas pelo V B, uma linguagem que usa um programador não poderia usar como você precisa delas. A função que estará olhando neste vídeo é a função de caixa de entrada. Isso permite que o usuário insira um valor que eu macro pode então utilizar de alguma forma. Então, em nossa pasta de treinamento, na segunda sub-pasta, 02 Elementos Chave de V B. Um código vamos abrir zero para classes e funções V B A e, em seguida, no desenvolver sua fora. Vamos clicar no visual Basic. Isto é praticamente onde paramos no último vídeo. Então aqui está a macro que escrevemos No momento, a macro insere três valores fixos. Ele insere uma quantidade, uma descrição específica e um preço unitário específico, então o que queremos fazer é usar Vehbi eh para permitir que o usuário insira esses três valores. Quando você vai aprender em V B A. Sua mãe está indo direto para o menu de ajuda dentro do editor visual basic, você tem acesso a algo chamado navegador Object. Para chegar a isso, você tem uma visão do navegador Judeus Object e aqui temos o que você pode chamar de um dicionário da linguagem V B A. Ele é dividido em várias bibliotecas diferentes, então você pode escolher uma biblioteca. Sim, eu poderia escolher, por exemplo, Excel. O navegador Object, em seguida, exibe um Siris de classes, e a classe é essencialmente um corpo off code, que está disponível para usar um programador. Cada classe representa uma área específica do excel. Então, por exemplo, aqui temos uma classe chamada título de acesso, e isso, é claro, se relaciona com o objeto gráfico. Ao criar um gráfico, você pode, opcionalmente, anexar um título a qualquer um dos eixos do gráfico, e o objeto de título Axis contém toda a funcionalidade para esse aspecto específico do excel. Então, se mudarmos para a biblioteca V B A, vemos todas as classes que estão disponíveis como parte da própria linguagem V B A, e a parte que nos interessa é a interação. Quando clicamos na classe de interação, vemos uma série de funções no lado direito qual das funções que estão associando com esta classe. E aqui está a função de caixa de entrada que estará usando para usar esta função em nosso código. Poderíamos usar um padrão semelhante ao que vimos no último vídeo. Em vez de começar com o aplicativo, que representa o Excel, começamos com V B A. Em seguida, um ponto foi a classe, que é a interação, em seguida, outro ponto e, em seguida, caixa de entrada. No entanto, você nunca verá essa sintaxe em nenhum código, e a razão é que a caixa de entrada, como acontece com a maioria das funções dentro de V B. , pertence a uma classe especial chamada Global. Em qualquer elemento que pertença a essa classe não precisa ser qualificado. Em outras palavras, você não precisa especificar onde ele está dentro da hierarquia dentro do V B, uma hierarquia de objetos, então você pode simplesmente dizer caixa de entrada sem prefixo. No entanto, enquanto aprende Vehbi eh, usando a sintaxe longhand é uma excelente prática porque faz o seu código auto-documentado e apenas lembra de onde vem esta função, onde ela pertence dentro do V B, uma hierarquia que agora está fechada no navegador de objetos. E vamos olhar para modificar nosso código para que, em vez de ter esses valores fixos, possamos ter valores inseridos pelo usuário. Mas antes de fazer isso, vamos modificar o código no lado esquerdo onde nos referimos à planilha para que nosso código possa ser um pouco mais flexível no momento. Estamos nos referindo ao nome do toque se, por algum motivo, o usuário decidir alterar o nome do toque. Então, digamos que o usuário decida. Bem, na verdade, é óbvio que este é um formulário que nós realmente não precisamos da palavra formulário. Vamos chamar de fatura. Isso, é claro, irá quebrar código porque a planilha que estava especificando foi renomeada, então não há mais uma planilha com esse nome dentro da pasta de trabalho. Então, se eu executar o código, isso é algo que você verá muitas vezes aqui. Temos uma mensagem de erro padrão assinada fora do intervalo. O sub script é a coisa dentro dos colchetes e está dizendo que você especificar o sub script que não existe. Formulário de fatura não existe. V B A fornece um excelente mecanismo para evitar essa possibilidade. No Project Explorer, você notará que o objeto representa em cada uma das planilhas, mas em sua pasta de trabalho, eu tenho dois nomes. O nome entre parênteses é o nome do toque, que é o que acabei de mudar. Mas além disso, você tem o que é chamado de código de lei. E este é um nome que você pode usar em VB A. para se referir a esse objeto. E isso significa que se a guia chamada for alterada, o nome de código permanecerá o mesmo. Portanto, seu código ainda funcionará em vez de deixar a folha de nomes padrão um e ela para. Normalmente, é melhor criar algo mais significativo, e também é uma boa prática usar um prefixo, um prefixo consistente que tornará mais fácil quando você ler no dedo do código, identificar onde quer que você esteja usando no nome de código de uma de suas planilhas. Então eu vou estar usando o prefixo S h. Então eu tenho que mudar o nome usando a janela de propriedades. E, claro, se isso não for visível. Você simplesmente vai para ver em sua janela de propriedades para alterar o nome da folha um. Eu apenas clicar no objeto e na caixa de nome em obter site S H fatura pressione enter e , em seguida, passar para o próximo ela para. E aqui eu vou mudar o nome para clientes S H e Price Center. Então, para se referir à sua planilha, eu posso simplesmente usar a palavra como nota H. E vou copiar isso e substituir as declarações da Besta 2 também. E usaremos essa técnica ao longo desses vídeos onde quisermos nos referir. As folhas de trabalho sempre vêm com um nome de código para cada uma das folhas que queremos manipular e, em seguida, usar esse nome de código dentro do nosso código. Então vamos agora voltar a nossa atenção para a caixa de entrada. Então, como eu disse, vou usar o método longhand que você nunca verá, e estamos fazendo isso puramente para ser auto-documentado. Então, quando você lê este código como alguém novo para Vehbi, eh, ele só vai te dar uma pista de onde o código pertence dentro do esquema das coisas . Então eu digitar v b um ponto que eu posso ver todas as classes, todas as classes V b A. Eu quero interação, então eu estou digitando i n t e. E quando a interação aparece, eu apenas pressione a tecla tab. Então eu não acabar vem caixa de entrada na caixa de entrada de um é selecionado. Eu só pressionei toque para inseri-lo. Não preciso colocar parênteses, e entre parênteses, coloco os argumentos que quero usar. Você notará que os argumentos exibidos todos têm colchetes com exceção do prompt, e isso significa que o prompt é o único que é obrigatório. Todos os outros são opcionais. Então, para o momento, prompt YSL irá colocar a melhor prática quando colocar em parâmetros para suas funções é colocar o nome de cada parâmetro seguido por dois pontos iguais. Então, aqui estão bastante pronto cólon igual e, em seguida, os sussurros de poros de corda. Então ele vai entre aspas duplas em Vamos apenas dizer, insira uma quantidade em parênteses fechadas. Então, é claro, as próximas duas linhas serão quase idênticas. Soldados copiam em pasta para as próximas duas linhas em, então, aqui eu vou mudar a quantidade para descrição, e aqui eu vou mudá-lo para preço unitário. Então agora vamos testar nosso código. Eu vou voltar para o Excel, e eu vou apenas executar a macro clicando em macros no ataque de desenvolvimento, selecionando a única macro que temos e resultados de execução de líquen. Minha caixa de entrada com o prompt especificado, insira a quantidade. Então eles começaram minha lança por uma quantidade de três. Clique em OK inter descrição cadeiras de escritório e digite um preço unitário de 85.75 e, em seguida, em Go meus três parâmetros. Então esse é o nosso primeiro olhar para o uso no modelo de objeto V B. A. Consiste principalmente de uma série de funções muito úteis, e como eu disse, você pode inserir essas funções sem um prefixo. Mas só para fazer o nosso código um pouco mawr auto-documento em. E apenas para lembrá-lo onde essas funções são longas, vamos escrevê-las longhand para que você possa reconhecer a sintaxe que faz parte do modelo de objeto do Excel, que começará com o aplicativo, não algo em DA desde parte de acesso de Phoebe A em si, que, é claro, vai começar com Phoebe um ponto 17. 2.3. Propriedades e métodos: Neste vídeo, vamos continuar nossa discussão sobre objetos falando sobre os dois tipos de sintaxe que você normalmente usa com ambos os objetos Excel e VB A, e estes são métodos em propriedades. Então vamos para o nosso trem na pasta e em 02 elementos-chave do VB. Oito código agora abrirá 03 propriedades e métodos, e isso é apenas uma pasta de trabalho em branco. Mas é macro habilitado, Como você pode ver pela extensão de arquivo XLs M ponto em, quando você vai para o desenvolvedor Visual Basic, você vai descobrir que há um único módulo e é chamado M propriedades e métodos, Então, basta clicar duas vezes para Abra isso. E aqui temos os comentários de um Siri. Então, estas são as etapas que serão usadas na macro que estará escrevendo apenas uma prática trabalhando com esses dois tipos de sintaxe, propriedades e métodos. Basicamente, uma propriedade é um atributo que você pode definir ou qualquer objeto excel, por exemplo, se tomarmos o objeto do aplicativo, que, é claro, significa Excel em si quando vamos para e escolha opções. A maioria dessas configurações estão disponíveis como propriedades fora do objeto do aplicativo, portanto, por exemplo, se eu fosse alterar o nome de usuário de Grant Gamble para G Gamble. O que efetivamente disse é aplicação, não nome de usuário é igual a G aposta. Então, se eu clicar em OK e voltar ao Visual Basic, se eu for para o menu Exibir e abrir a janela imediata, lembre-se, você pode digitar uma linha de código e executado diretamente da janela imediata sem ter que criar uma macro. Por que digitar Application dots Resultado. Todos os membros fora dos membros do objeto do aplicativo são a sintaxe, que pode ser usado com o aplicativo e que consistirá principalmente em métodos e propriedades. E, claro, vai ser o nome de usuário. Uma vez que ele aparece, eu pressiono tabulação igual a. Isto é obviamente uma string, então ele tem que ir em aspas duplas, e eu vou mudá-lo de volta para Grant Gamble quando eu pressionar enter. Se eu olhar em minhas opções, então você pode ver que foi mudado de volta para Grant Gamble. Então esse é um exemplo Off propriedade. Outra simples é a folha ativa, então só há uma folha aqui. Se eu clicar duas vezes sobre ele e chamá-lo de dados e, em seguida, apresentar, Eu vou ter mudado nome ponto folha ativa. De repente, se eu voltar ao visual básico e digitar os pés ativos, nome Cools não tem esse estranho? É um principal quando eu pressiona Enter. Quando eu voltar para o Excel lá você pode ver que ele foi mudado. Então, estes são todos exemplos de propriedades. Vamos ver como isso se parece no navegador de objetos. Então veja o Navegador de objetos. Certifique-se de que você está na Biblioteca do Excel e vamos começar com o aplicativo. Quando eu clico no aplicativo. No lado direito, você verá membros da aplicação, que, que, como eu disse, principalmente significa propriedades e métodos. Então, em primeiro lugar, nós mudamos o nome de usuário. Então, quando eu rolar para baixo lá está no meu resumo na parte inferior diz-me que esta é uma corda. Por isso, teve que ir em aspas duplas. Em seguida, fomos para o objeto de planilha porque folha obviamente ativa, é essencialmente um objeto de planilha, e nós alteramos a propriedade name. E como você pode ver, isso também é uma força passando para os métodos. Um método é basicamente uma ação que você executa em um objeto específico. Por exemplo, se trabalharmos com a coleção de pastas de trabalho, ou seja, todas as pastas de trabalho, que você tem aberto atualmente no Excel, poderíamos abrir ou adicionar uma pasta de trabalho. Então, se eu for para o menu arquivo, escolha a nova pasta de trabalho em branco. Agora adicionei uma pasta de trabalho à coleção de pastas de trabalho e, quando fecho essa pasta, removi-a da coleção de pastas de trabalho. Então, para fazer a mesma coisa no Visual Basic novamente, eu vou usar a janela imediata. Posso dizer aplicação. Mas o que livros não adicionar como podemos ver o argumento de que ele leva seu opcional. Ele está entre colchetes, e isso é para especificar um modelo a ser usado com uma nova pasta de trabalho. E, obviamente, isso é admitido. Então nós simplesmente usamos o modelo padrão, que é o que eu faço. Mas eu carrego em Enter. Você vai ver. Agora tenho uma nova pasta de trabalho. Cinco. Neste caso, ativei-o. Então, se eu voltar e digitar o aplicativo, não ativo. Que livro? Não feche Quando eu livro por cento. Cinco agora desaparece da coleção de pastas de trabalho, então vamos fechar a janela imediata e voltar para a janela de código. Lembre-se, o atalho para isso é a guia de controle e vamos voltar para o nosso código. Então, o que queremos fazer é criar uma macro, que faz todas essas etapas. Então começamos inserindo nossa macro. Para fazer isso, certifique-se de clicar na janela de código e escolher inserir procedimento. Se você clicou acidentalmente na janela do projeto, por exemplo, você verá que o procedimento está ótimo. Assim, ele garante que o cursor está em algum lugar na janela de código e, em seguida, basta inserir o procedimento e irá digitar. O nome não cria nenhum relatório espacial e é um submarino e vai ao público dele. Nós clicamos em OK e, claro, você pode digitar isso sozinho. Você não precisa usar o procedimento de inserção. Então agora queremos que todas essas etapas sejam executadas dentro da macro. Então, para realçar todas as etapas, basta mover o cursor apenas para a esquerda do texto até que ele mude para um ponto estreito com obotão direito e mantenha pressionado e,em botão direito e mantenha pressionado e, seguida, arraste para baixo para selecionar todas essas linhas, vá para o e, em seguida, arraste-a para a nossa macro. Então agora podemos praticar o trabalho com objetos métodos em propriedades, então a primeira coisa que queremos fazer é alterar o número de folhas que o Excel fornece quando você cria uma nova pasta de trabalho para um para que quando criamos na pasta de trabalho, Sabemos que só teremos uma folha. Então este conjunto em apenas lembrar onde isso vive é opções de arquivo. E é só aqui quando novos livros de crédito incluem tantos assentos. Então este é obviamente um excel definido em. Portanto, ele vai ser no objeto aplicativo. Então, como dissemos, isto vai ser encaixado. E, na verdade, a configuração é chamada de folhas e nova pasta de trabalho. Quando ele vem para cima, podemos apenas pressionar tabulação e, em seguida, dissemos que dedo do pé por colocar em igual a um. Então esta é obviamente uma propriedade, que acabamos de mudar. E, claro, tem que ser numérico. Em seguida, queremos criar uma nova pasta de trabalho. Então, novamente, eu vou começar com aplicação porque esta é uma operação Excel. Então, analisamos a coleção de pastas de trabalho e, em seguida, colocamos Não adicionar. Agora queremos aprofundar dentro dessa nova pasta de trabalho em renomear a única planilha que ela contém porque criamos o Livro Mundial, ele será a pasta de trabalho ativa neste momento, portanto, dentro do objeto do aplicativo. Podemos usar a pasta de trabalho ativa e, em seguida, aprofundar dentro dela para todos os assentos de trabalho. E, claro, se dissermos trabalho, doce, então vamos buscá-lo. É a primeira e única planilha na pasta de trabalho. E então a propriedade estava interessada em mudar é o nome a menos que a escola que dados. Então agora vamos fingir que vamos fazer um monte de operações, o que poderia ser muito lento. E por essa razão, queremos definir o modo de cálculo para manual. Eu coloquei a palavra normal aqui. Eu queria colocar manual. Então, se eu pudesse mudar isso para manual e, claro, estamos de volta com as configurações do Excel aqui, este é o aplicativo novamente, e é apenas cálculo quando eu digitar igual. Este é um exemplo Off Excel Constance. Então não é um caso de inserir uma string. Isso é basicamente inserir um dos três valores possíveis, e eles apenas igualam as opções dentro das configurações do Excel. Então aqui eu escolho o manual, e apenas para lembrá-los onde isso mora, se eu for para fórmulas de opções de arquivo, insira as três opções que acabamos de olhar em licença. Mudei para manual. Então vamos cancelar. Volte ao Visual Basic. O relatório de compilação é o passo que não estaremos realizando. Digamos que isto consiste em toda a Siris de operações diferentes, então vamos fingir que fizemos todas essas operações. Agora queremos dizer ao usuário que o relatório está completo. Então agora vamos estar usando VB A em oposição ao aplicativo V B A interação não caixa de mensagem. E aqui você verá que temos um parâmetro, que é obrigatório em todos os outros são opcionais. Eles são todos exibidos entre colchetes. Então, a melhor prática é colocar o nome sobre o parâmetro, seguido por dois pontos iguais e, em seguida, o tipo apropriado de dados, que, para uma caixa de mensagem, obviamente vai ser uma força. Por isso, tem que ir entre aspas. Vou dizer o seu relatório. É espaço completo, fechar aspas e, em seguida, usar e comercial para concordar. Katyn comeu o nome da pessoa. Então aqui nós alternamos para excel, que é aplicação. Não use o nome. E se você quiser um ponto de exclamação depois disso, nós poderíamos apenas colocar comercial e ponto de exclamação entre aspas. Então, finalmente, nós estávamos indo para definir o modo de cálculo de volta para automático, que o aplicativo não cálculo é igual ao Excel. Automático. Ok, então vamos testar em uma macro. Certifique-se de que o cursory em algum lugar dentro da macro e assumir a execução há apenas pasta de trabalho . Tem uma única folha, que foi renomeada para Data Onda. Fingimos que o nosso relatório está completo. E como você pode ver, ele pegou meu nome nas configurações do Excel. Então, vamos apenas clicar. OK, podemos fechar. Livro seis à medida que passamos pelo curso, estará trabalhando com propriedades e métodos, então você logo se acostumará muito com eles. Mas isso é apenas uma introdução rápida a esses dois elementos-chave de V B a sintaxe. 18. 2.4. Variáveis de dados: desempenham um papel fundamental no VB, uma programação e, de fato, em todas as linguagens de programação para ter um olhar sobre como eles funcionam. Esse é o tipo de pasta de treinamento e 02 elementos-chave de E. B. A. Vamos abrir zero variáveis completas de dados. Então, em primeiro lugar, o que é uma variável? Variáveis são muito semelhantes às referências de venda. Se olharmos para esta fórmula, refere-se a vender um 15 e, em seguida, multiplicá-lo por auto E 50 para que ele multiplicando quantidade por preço unitário com a fórmula refere-se a um 15. Um 15 efetivamente é uma variável. Não sabemos qual será o valor da venda de 50. Nós não sabemos qual será o valor na célula E 50, mas quaisquer valores do ar nessas células serão multiplicados juntos, e é assim que as variáveis foram. A única diferença, claro, é que as variáveis vivem puramente na memória. Eles não fazem parte de nenhuma planilha, e também você define o nome da variável quando definido em nomes de variáveis. Uma boa prática é usar um prefixo que indicará o tipo de dados que você planeja colocar dentro dessa variável. E aqui podemos ver os tipos de dados feitos que XLV ser um funciona com. Primeiro temos string, que, que, claro, é para valores numéricos de texto Alfa. Então temos um par de tipos de dados relacionados a números inteiros. Inter GIA é adequado para números inteiros menores até cerca de 32.000 em longo em Didja, que é chamado Simply Long, é adequado para números inteiros maiores até um par de 1.000.000.000. Então temos moeda, que é usada para valores monetários e um par de tipos de dados adequados para manipular números riel muito grandes contendo decimais simples e duplo duplo, é claro, sendo o maior dos dois . Então temos um 1.000.000.000 que só pode conter dois valores verdadeira ou falsa data, que é usado para manter datas e horas. E, finalmente, temos o tipo de dados padrão, que é uma variante. Então, se você fosse declarar uma variável, mas não especificar seu tipo de dados, seria variante padrão. E quando você usa esse tipo, Excel basicamente tenta adivinhar o tipo de dados com base na natureza fora dos dados. Sempre que você precisar declarar uma variável como variante é onde você estará usando técnicas que produzirão tempos de dados desconhecidos. Mas, na maioria das vezes, você vai querer especificar explicitamente os dados. Digite as práticas recomendadas para usar um prefixo, que indica o tipo de dados que sua variável manterá. Então eu não tive uma olhada nesses tipos de dados. Vamos agora passar para o visual basic e olhar para como nós realmente declaramos variáveis para que você vai descobrir que temos um módulo já criado. É chamado de variáveis de dados M em. Também temos uma macro em branco chamada Basics variável. Então vamos olhar para algumas técnicas. Primeiro de tudo, sempre que você vai usar uma variável, é sempre melhor declarar a variável. E para fazer isso, use a palavra-chave dim, que é dimensão curta, e então você vem com uma variável de sensação de nome. Então, o que vamos estar fazendo nesta pequena macro é, em primeiro lugar, cumprimentando o usuário, e vamos pegar seu nome do sistema. Então vamos criar uma variável chamada str user e especificar que é uma variável string str user não é realmente suficiente de uma pista que é puramente para nossa referência. Ele não diz ao Excel que é uma variável estrita para fazer que usou a palavra-chave como e assim que eu apertei a barra de espaço, eu vejo uma lista muito longa, que inclui não apenas tipos de dados, mas também todos os diferentes objetos do Excel para os quais eu poderia armazenar uma referência em uma variável. Portanto, as variáveis têm esses dois objetivos de armazenar dados também. Uma história faz referência a objetos do Excel. Então aqui eu apenas digite str para string e fui String aparece eu comprimido guia para inseri-lo, que eu vou compor uma mensagem para o usuário, que novamente é uma string. Então str mensagem Como primavera, depois de exibir a mensagem para o usuário, vamos pedir-lhes para sua idade. E isso, claro, é um número inteiro. Então int idade como imagens de interjeção vão até 32.000. Então isso deve ser suficiente para a idade da maioria das pessoas. E, finalmente, queremos lisonjear o usuário. Então, seja qual for a idade que eles entrarem, vamos levar 75% disso. Agentes dizem, realmente, você não parece um dia sobre essa figura. Então, por essa razão, vamos criar em bajulação como em professor. Então é assim que você declarar variáveis dim nome da variável como um tempo de dados. Vamos agora olhar isso, atribuindo um valor a uma variável também chamada populated uma variável. Então, eu só vou explicar isso. Nós também poderia tocar nas declarações dim se eu destacar todas essas linhas na guia de imprensa, mas que apenas toca-los em. Isto é apenas para legibilidade. Então, para preencher uma variável usou a palavra-chave. Deixe se a variável contém dados e conjunto. Se a variável contém de referência a um objeto excel em, estaremos olhando para variáveis de objeto no próximo vídeo. Então aqui estamos obviamente lidando com dados. Então, é um usuário str nome variável let neste caso igual seguido por quaisquer instruções que avalia para o tipo de dados correto. E, claro, desta vez, queremos encadear sua aplicação. Não use o nome avalia para uma string. Deixe-me apenas lembrá-lo onde isso vive opções de arquivo sobre quaisquer valores lá em sua aplicação. Não use o aplicativo de nome, claro, significa excel. Então agora queremos atribuir um valor à mensagem SDO novamente. É dados. Vamos t o a mensagem igual. Então vamos dizer olá, notícias do espaço. O personagem “sou por cento” pode lançar uma nação. Str usuário ponto de exclamação Como você está hoje em, então poderíamos usar o objeto de fala para realmente dizer mensagem sdo para o usuário. E aqui eu estou demitindo um 10% soldados precisavam de 10% depois de usuários STL bem, para falar com o usuário, usamos aplicação, não fala e, em seguida, não fala. A primeira coisa, claro, é o texto Kotal mensagem str desigual neste caso e é isso que precisamos dizer nesta ocasião . Nós executamos nossa macro. Ele deve pegar o nome de usuário do Excel de Grant Gamble e dizer olá para mim. Olá, Grant Gamble. Como você está hoje? Isso é bom. Até agora, tudo bem. Então agora queremos seguir em frente para agarrar a idade da pessoa. Então deixe-me colocar uma nova mensagem na mensagem str. Vamos testar a sua mensagem igual. A propósito, quantos anos você tem? E, em seguida, fale mensagem STL. Então eu vou simplesmente copiar esta linha e eu vou fazer isso mantendo pressionada a tecla control e arrastando a linha para um novo local. Então str mensagem Não Bean atualizado? Quando eu usei esta declaração, ele obviamente vai falar a nova versão da mensagem STL. Mas o que? Eu também quero fazer é exibir uma caixa para o usuário digitar em sua idade. Não quero necessariamente que a mensagem falada tenha que terminar antes que a caixa de diálogo apareça. Então, para fazer esse presunto eu vou usar o segundo parâmetro, que é que você pode ver, é opcional. Está entre parênteses rectos chamado “Falar a Pia”. Acho que é abreviação de síncrono. Isso significa que o discurso acontecerá simultaneamente com o que vier a seguir. Então, em outras palavras, a mensagem não precisa ser pronunciada em sua totalidade antes que a caixa de diálogo apareça. Então, para isso, eu apenas colocar falar uma pia verdadeira. E então imediatamente depois, isso é que eu posso agora dizer, deixe eu NT idade igual. E então eu vou colocar o longhand v b uma interação ponto não caixa de entrada e, em seguida, parênteses. Vou precisar de um prompt, que, é claro, será simplesmente mensagem STL. Então você tem a mesma coisa no diálogo que está sendo falado com o usuário. Então agora nós preenchemos todas as nossas variáveis. Então, na seção de variáveis usando, o que calcula sua idade lisonjeira para que possamos dizer Vamos entrar em lisonjeia igual em idade multiplicada pelo norte 0,75 em. O que também podemos fazer é forçar este cálculo para retornar um valor inteiro em nossa variável entrevista e lá, Siris especiais de funções de conversão que estão disponíveis em V B A. E eu vou colocar este longhand apenas um za self documentando recurso para que quando você olhar para isso de novo, você sabe, é parte do V B A. Então aliviar nossa conversão. Essa é a classe em que isso é encontrado. Veja int é a função que irá converter nosso cálculo em forçá-lo para retornar um valor insurgente. Agora que temos a bajulação no lugar, podemos compor nossa mensagem final. Então isso vai ser deixar mensagem str igual realmente comercial em idade. Eu estou por enviar anos velho ponto de exclamação Você não parece um dia sobre o espaço comercial e em elogios comerciais, ponto de exclamação. Então há Armitage e finalmente vai falar a mensagem para eles. E desta vez não queremos que aconteça mais nada ao mesmo tempo. Então eu vou usar este estilo sem a pia é igual a verdade. Então, basicamente, copie isso em colá-lo aqui. Certo, então vamos testar. Olá, Grant. Gamble, como você está hoje? A propósito, quantos anos você tem? Está bem. Tenho 100 anos, na verdade. 100 anos de idade. Você não parece ter mais de 75 anos e aí está. Essa é a nossa primeira olhada nas variáveis. Vamos usá-los ao longo do curso de todas as formas. Então, no final do curso, você estará extremamente acostumado com eles. E no próximo vídeo, vamos passar para ver como você usa variáveis para armazenar referências a objetos do Excel. 19. 2.5. Variáveis de objetos: no último vídeo, analisamos os dados da história em variáveis. Neste vídeo, vamos seguir em frente para ver referências de história para objetos do Excel em nossas variáveis. O que vamos fazer é escrever uma macro simples que olhe dentro desta pasta. Ligue para Vendas, abre o arquivo chamado Vendas e, em seguida, filtra todos os produtos no intervalo chamado Brain Stuff. Então queremos fazer o equivalente a ir para o filtro automático de dados e, em seguida, selecionar no cérebro Organize apenas, . e então nós queremos copiar todos esses dados filtrados para o arquivo material de cérebro frio. E digamos que queremos excluir a planilha existente, criar uma nova e, em seguida, colar as informações nessa nova frota de trabalho. Então vamos fechar estes e, em seguida, vamos abrir o arquivo que contém a nossa macro. E isso é 05 variáveis de objeto, e o que estará fazendo é será criar referências para a pasta de trabalho, planilha e objetos de intervalo em ambas as pastas de trabalho. Isso é um pouco exagerado porque nós realmente não estamos fazendo um monte de operações, e é aí que o uso de variáveis se torna útil. Mas estamos fazendo isso apenas que você pode obter algum algodão prática cruzado, usando variáveis para dados com o uso de variáveis para objetos do Excel para iniciar referências aos objetos que você está indo para manipular. Então vamos dar uma olhada na nossa macro vazia. Vamos desenvolver, Abra o editor visual basic aqui, você vai ver, nós temos o esqueleto da macro que vamos criar, então vamos começar declarando nossas variáveis. Bem, então, uh, abra a pasta de trabalho fonte. O que, claro, é este que as vendas vão filtrar os dados como eu acabei de mostrar. Você especificará o intervalo de origem, que, é claro, serão os dados do filtro. Bem, então abra a pasta de trabalho do cérebro, copie os dados, e feche a pasta de trabalho original, deixando o cérebro aberto para que possamos ver que nossa operação foi bem sucedida. Então, como eu disse, vamos entrar no modo exagero na criação de variáveis. Vamos dificar seis no intervalo total de worksheet. E estamos fazendo isso tanto para a pasta de trabalho de origem quanto para a pasta de trabalho de destino. Declarar as variáveis é o mesmo que declarar variáveis de dados usado a palavra-chave dim, seguido do nome de sua própria criação, preferencialmente usando um prefixo para tornar seu código muito mais legível. Então, começando com a pasta de trabalho que vai ser fonte WK B. E, em seguida, colocamos a palavra-chave como, e neste caso, o tipo de dados torna-se uma pasta de trabalho do Excel. Deixe-me fazer o mesmo para planilhas. fonte Dumpty Chaos, bem até assentos e o intervalo são N g. Fonte como intervalo uma característica agradável que você pode usar dentro do V B A. É para substituir dentro de uma seleção. Então, se eu agora quiser fazer três equivalentes para a pasta de trabalho de destino, eu posso selecionar essas três linhas e copiá-las simplesmente mantendo pressionada a tecla control e arrastando a seleção abaixo do original. Em seguida, seleciono as linhas copiadas. E se eu agora usar o controle H ou editar substituir, eu posso simplesmente dizer na fonte de encontrar o que caixa e na substituição com caixa de destino. E, em seguida, esta opção muito útil texto selecionado já está destacado para mim. Eu, portanto, justamente de exige tudo e substitui três ocorrências. Vamos então fazer uma variável final para especificar o caminho porque, obviamente, quando chegamos a abrir essas pastas de trabalho, temos que especificar onde eles estão localizados, e vamos usar uma passagem relativa. Basicamente, vamos tomar o local em que a pasta de trabalho que contém a macro é salva, a pasta que contém essa pasta de trabalho. E então vamos trabalhar a partir do ar para a pasta de vendas e procurar para trabalhar livros com os nomes que sabemos que essas pastas de trabalho terão. Então isso, é claro, será uma corda muito longa, tão fraca. Str caminho como força. Então, antes de podermos abrir a pasta de trabalho de origem, precisamos preencher caminho str para preencher ou atribuir um valor a uma variável de dados. Usamos a palavra-chave opcional deixar no nome da variável um igual, e então usamos uma instrução que produz um caminho. Portanto, para especificar a pasta que contém a pasta de trabalho atual ou melhor, a pasta de trabalho que contém essa macro. Dizemos aplicativo não este caminho de parada de pasta de trabalho e, em seguida, queremos adicionar ao que fazemos usando comercial e deslocamento sete, o operador de concatenação. Então eu sou por cento e, em seguida, aspas duplas e, em seguida, vamos precisar colocar uma barra invertida para continuar sem vendas caminho, que é o nome da subpasta, outra barra invertida, e, finalmente, o nome do arquivo, que novamente foi vendas O X l s X cotações fechadas. Então, estamos pegando a pasta em que o atual em que esta pasta de trabalho é salva em estamos adicionando no resto do passado para obter o completo passado passado para o arquivo que você deseja abrir. Quando abrimos o arquivo, colocamos simultaneamente uma referência a ele dentro da fonte wk b. No entanto, quando você atribui um valor a uma variável de objeto, você deve usar o conjunto de palavras-chave em vez de deixar. E, ao contrário da palavra-chave, let set não é opcional. Você tem que incluí-lo, e é por isso que eu recomendo quando você está aprendendo Levy A. Mas você sempre usa a licença para que tenhamos um pouco mais de paridade, então você sempre pode pensar. Preciso de uma licença ou preciso de um conjunto? Então Definir wk b fonte igual à aplicação. As pastas de trabalho não abrem agora. Isso, claro, é um método. É uma ação, mas porque não é a única declaração nesta linha, é na verdade parte de uma declaração. Temos que usar parênteses. Então, se as únicas declarações na linha foram aplicação, não trabalho, não está aberto. Você precisaria de um espaço neste ponto é executado e parênteses, mas como é apenas parte da linha, você precisa ter parênteses, então o único parâmetro que precisará dele é o nome do arquivo na convenção que será usado in é colocar o nome do parâmetro dois-pontos é igual e, em seguida, o valor. Que, claro, neste caso é cadeia de caminho str que acabamos de compor na ponte é luz. Então, vamos salvar nossas alterações e testar a macro de estilo, e podemos realmente ver que as vendas estão sendo abertas. Até agora, tudo bem. Então, o próximo passo é filtrar os dados, e para fazer isso terá que aprofundar os pés de trabalho que contém os dados e, em seguida, especificar o intervalo que será Filtrá-lo. Podemos dizer a primeira planilha porque sabemos que é a única na pasta de trabalho ou podemos nos referir a ela pelo nome. Então, dentro de vendas temos uma folha também chamada vendas, então podemos nos referir a ele como planilhas um ou façanhas de trabalho vendas. Novamente, estamos falando de um objeto do Excel, então a palavra-chave é definida como um cartaz. Deixe wks fonte igual a e, claro, Millikan Dentro wk b fonte em todas as planilhas e, em seguida, entre parênteses. Nós especificamos qual, e eu vou fazê-lo pelo nome, o que significa que eu tenho que usar aspas duplas. Então essa é a planilha em que estamos interessados. Agora. O conjunto de intervalo são N g fonte igual a este tempo estamos olhando dentro wks fonte, e nós simplesmente queremos o intervalo usado, que é dizer, todas as células que contêm dados. Agora que perfuramos o alcance, podemos filtrá-lo, e isso é muito fácil. Nossa fonte de energia. Filtro automático. E desta vez, como o método é as únicas declarações na linha, não precisamos de parênteses. Nós apenas atingimos a barra de espaço e vamos direto para os nossos parâmetros. Então, primeiro de tudo, nós especificamos o campo, e isso é feito numericamente tão numericamente. Por qual coluna você deseja filtrar? Se eu abrir as vendas mais uma vez, Boa coisa que você pode fazer e contando colunas no Excel. É apenas um arrastar pelos cabeçalhos das colunas e manter o mouse pressionado e você notará que uma pequena dica de ferramenta aparece. O que diz quantas colunas você selecionou atualmente Então, como você pode ver, eu quero a gama de produtos e essa é a coluna G, que é a sétima coluna para que você possa ver no final da ponta da ferramenta vezes sete C sete colunas. Então esse é o que queremos filtrar. De volta ao nosso código em campo torna-se sete. Quando você tem vários parâmetros, um bem que você pode fazer é colocá-los em linhas separadas. Só os torna mais fáceis de ler. Para dividir a linha. Use o Operador de Continuação, que é o espaço, seguido de um sublinhado. Em seguida, eu posso usar Tab e barra de espaço reboque linha o cursor no próximo parâmetro que eu preciso é os critérios critérios. O que dois pontos é igual e este é um critério de string. Então ele vai entre aspas e é a palavra coisa do cérebro. Então essa é a minha operação de filtro nos dados do filtro é o meu intervalo de origem. Esse é o intervalo que eu quero ser, então eu posso agora ir para a próxima seção e simplesmente repetir esta linha. Defina nossa fonte de energia igual a fonte W ker. Pare o intervalo usado porque, é claro, o intervalo usado mudou para o intervalo filtrado. Agora eu quero abrir a pasta de trabalho de destino. Então, é claro que vou usar linhas muito parecidas. Então, novamente, realce essas duas linhas, mantenha pressionada a tecla Control e, em seguida, arraste para a seção de pasta de trabalho de destino aberto. Então aqui eu vou simplesmente mudar a palavra “vendas” para coisas cerebrais. Claro, a pasta é exatamente a mesma, modo que não precisa ser alterada. E então a variável que estou usando é claro, wk b alvo, suponho, para w k b fonte. Então, isso é aberto a pasta de trabalho de destino Agora para copiar os dados. Eu já especifiquei o intervalo de origem. Eu simplesmente preciso, especialmente para o alcance do alvo. E o que eu quero fazer de forma eficaz é criar uma nova planilha. Digamos que queremos retransmitir as coisas do cérebro da planilha. Amendar. Deletar a planilha existente. Então, para fazer isso, eu vou definir wks alvos iguais a W K. Ser alvos. Planilhas não adicionam. Como você pode ver, o método não é a única coisa na linha. Portanto, se eu quiser especificar o local dentro da pasta de trabalho fora do meu novo trabalho, rua apenas parênteses e os dois parâmetros que me permitiram fazer isso são antes e depois, Então eu vou usar isso antes Método Cólon é igual. Quando eu especificar qual worksheet dentro do alvo W K B. Preciso colocar esse novo antes e claro que é a planilha um. Então eu simplesmente digo, W k b planilhas ponto alvo colchetes um. Então meus novos trabalhos, ele irá antes da worksheet existente. Uma vez que eu fiz isso, Eu posso excluir a planilha existente que , é claro, neste momento se tornaram planilha para quando você tenta excluir uma planilha do Excel . Excel vai apenas verificar se você deseja excluí-lo em exibição uma pequena caixa de diálogo s para que possamos ocultar essa caixa de diálogo simplesmente usando a propriedade de alertas de exibição ponto aplicativo . Então dizemos aplicativo não exibir um Let's é igual a false. Então nós excluímos nossas planilhas para que ele vai ser wk ser alvos Não folhas de trabalho, também, que nós excluímos e então nós simplesmente reativar nossa exibição. Vamos então eu estou apenas usando arrasto controlado para copiar essa linha e a mudança falsa True. Então agora nós especificamos a planilha na qual queremos copiar os dados, então estamos prontos para especificar o intervalo onde os dados serão copiados e para fazer a cópia em si. Então, para especificar o intervalo, dizemos definir alvo RMG igual a PKS Alvos não alcance foguetes um um porque, é claro, você só precisa especificar a célula superior esquerda na qual você está colado. Agora, quando você vem para copiar dados usando B B A, desde que ele especificou tanto a origem quanto o destino, você não precisa fazer uma cópia seguida de uma pasta. Você pode realmente fazer a cópia em uma única linha, e o Excel nunca entra nesse modo de cópia especial com o flash na borda. Ele apenas transfere os dados de forma limpa e rápida. Então, sempre que possível. Este é o método que você usa para mover dados de um local para outro em suas costas, rosa. Então você começa com o intervalo de fonte, que temos mantido em nossa variável de fonte de energia e, em seguida, usou o método de cópia cópia dot copy. O método que estamos definindo é a única declaração na linha, então não precisamos de parênteses. Nós apenas para o espaço, seguido pelo parâmetro de destino. Tolan é igual a alvos RMG. E é isso. Só alguns passos finais para limpar as coisas. Vamos renomear o Work Street e, em seguida, também ajustar as colunas para que todos os dados se tornem visíveis. Então, para renomear, nós temos isso mantido em nossa variável wks nome ponto alvo é igual a coisas cerebrais Então para também se encaixa , nós apenas usamos wks Target não usou intervalo as colunas Mas também se ele e é isso, então a última coisa que do é fechar nossa pasta de trabalho de origem. A pasta de trabalho de origem é, naturalmente, w k b fonte. Venha e diga Doc Close, mas fizemos alterações nele, que não queremos salvar. Então nós temos um método que é as próprias declarações me na linha para que não precisamos de parênteses. Só precisamos de um espaço. Usamos o parâmetro de alterações seguras dois-pontos é igual a false. Então ele fecha a pasta de trabalho, abandona as mudanças que fizemos. Então estamos no negócio. Uma última coisa que podemos fazer é colocar uma caixa de mensagem. E vou fazer esta longa interacção planeada B a ponto só para vos lembrar onde vive . Mm Street caixa prompt de espaço dois-pontos é igual a operação concluída. Está bem. Para que tenhamos ah, Macron. Vamos salvar nossas alterações e testá-las para que as operações sejam concluídas. Há as nossas coisas cerebrais e temos de trabalhar. Sequela, cérebro era ao longo das pausas, os produtos e fechamos nossa pasta de trabalho de vendas sem segurança nas mudanças. Então eu vou fazer o mesmo com coisas cerebrais. Vamos apenas fechar. Digamos que não salve. Então nós exageramos ligeiramente na criação de variáveis de objeto, mas eu só queria dar a vocês uma chance de contrastar isso. Uso de variáveis para armazenar dados usando esta palavra-chave opcional. Deixe com o uso de variáveis restaurando referências para objetos excel onde você tem que usar o conjunto de palavras-chave obrigatório. 20. 2.6. Opção explícita: neste vídeo, vamos olhar para um VB muito útil, uma declaração que se relaciona com o uso de variáveis e que é opção explícita. Então, para ver por que isso é tão importante, vamos para o nosso 02 elementos-chave de V B uma sub-pasta de código e, em seguida, abrir 06 Opção explícita. Quando você entra no editor visual basic, você verá que temos o mesmo módulo que usamos no último vídeo e dentro dele temos a macro que escrevemos no último vídeo. Agora você deve ter notado que a parte superior de cada um dos módulos que inserimos tivemos automaticamente esta opção declaração explícita. Eu não vou sentir falta de mim, basicamente, é que declaração variável é necessária. Então, em outras palavras, antes de usar qualquer uma dessas variáveis, Então, por exemplo, caminho str. Antes de usar isso, terei que declará-lo e mostrar por que isso é tão importante. Vamos tomar um cenário muito simples onde fazemos um erro de digitação, como colocamos no nome de uma variável. Então aqui em baixo, quando chegamos a fechar o nosso uso de pasta de trabalho em W K B estoque dolorido perto. Digamos que tenhamos acidentalmente digitado wbk. Então não é uma era particularmente visível, algo que você poderia facilmente perder porque temos opção explícita no topo do nosso modelo. Quando tento executar este código, é-me apresentada uma mensagem de erro informando que esta variável não foi definida e posso ver imediatamente o nosso. Isso ocorre porque há um erro de digitação e eu insiro o nome correto. Agora vamos olhar para o que vai acontecer se omitirmos opção explícita. Então, para sair do modo de freio, eu clico no botão de reset. Eu poderia obviamente excluir opção explícita, mas o que você também pode fazer quando você está testando seu código é que você pode simplesmente comentar uma ou mais linhas, e você pode fazer isso manualmente inserindo um apóstrofo você mesmo. Mas há também este botão útil no topo aqui chamado Bloco de Comentário, e isso permite que você simplesmente selecione uma ou mais linhas e clique para transformá-las em comentários. E ao lado dele, você tem um bloco NCAA significava, que o converte de volta em uma linha de código. Então eu vou comentar a opção explícita e vamos ver qual é a diferença. A propósito, eu deveria dizer que esta é a barra de ferramentas de edição. Então, se estiver tudo na tela, você só precisa ir para ver duas barras e escolher editar. É onde ele vive. Certo, então agora desativamos a opção explícita. Não vamos ser aquecidos se cometermos um erro quando digitar o nome de uma variável. Então, quando executo meu código, a maior parte funciona bem. Mas quando ele tenta fechar a pasta de trabalho por causa do erro de digitação, recebo um objeto de mensagem necessário. E, claro, quando você obtém esses tipos de erros que você pode ficar desviado, você pode realmente levá-lo muito literalmente. Comece a fazer pesquisas na Web para ver o que está errado o tempo todo. É um erro de digitação muito simples. Então, às vezes, está bem no seu nariz e você sente falta disso. Então, novamente, deixe-me apertar o botão de reset para sair do modo de freio, e eu vou fechar. Os arquivos que foram lá aberto como resultado da execução desse código, disse que a solução simples é sempre certifique-se de que você tem opção explícita na parte superior do seu modelo para salvar você digitando você mesmo. Você poderia tê-lo inserido automaticamente sempre que você criar um novo módulo, então você vai notar que quando eu clicar com o botão direito do mouse, inserir módulo vem opção explícita na parte superior de cada modelo. Este é o comportamento padrão, e é o resultado de uma opção no menu Ferramentas ferramentas opções chamado require variável declaração. Então, se eu fosse desativar esta opção quando eu entrar no modelo agora, você vai notar que opção explícita não está inserida. O que isso significa é que mesmo se eu declarar minhas variáveis porque opção explícita não está lá , se eu cometer um erro quando o tipo nos nomes são variáveis, eu não vou ser aquecido. Cabe a mim localizar a fonte dessa era, então é algo muito simples e definitivamente vale a pena fazer. Basta certificar-se de que nas opções de ferramentas você tenha exigido declaração variável sempre ligado. E, em seguida, cada vez que você inserir um módulo na parte superior dá esta opção muito útil instrução explícita 21. 2.7. Declarando e usando constantes: neste vídeo, vamos olhar para Constance e contrastar o uso de Constance com o uso de variáveis para ver como as constantes funcionam em nossos 02 elementos-chave do código V B. A. Vamos entrar em 07 declarando e notícias em Constance. Quando entrarmos na cidade dos desenvolvedores no visual basic, encontraremos o mesmo modelo em que trabalhamos nos vídeos anteriores. Essencialmente, uma constante é um valor variável não varia. É um pedaço de dados que você deseja manter o controle enquanto seu código está sendo executado. O valor permanece constante, e dentro deste código temos alguns candidatos para Constance aqui. Por exemplo, quando estamos abrindo a pasta de trabalho de origem, temos uma string literal, que visa a pasta de trabalho de origem. Ao invés de ter essa string literal. É uma prática recomendada declarar uma constante, que contém essa string e, em seguida, se referir à constante em todo o seu código. Isso torna muito mais fácil manter seu código e modificar esses valores literais. Então, para converter isso em uma constante, eu simplesmente copiaria e declarar uma constante, você usou a palavra-chave, Const. Então ainda é uma prática recomendada para usar o prefixo, então eu vou chamá-lo str uma vez que é uma string e a convenção é colocar o resto do nome tudo em letras maiúsculas apenas para que você possa distinguir Constance de variáveis quando então eu vou chamá-lo str uma vez que é uma string e a convenção é colocar o resto do nome tudo em letras maiúsculas apenas paraque você possa distinguir Constance de variáveis quando Olhe para o seu código, então eu vou chamar esta fonte str. Então você ainda diz como string para especificar o tipo de dados, em seguida, a segunda diferença entre uma variável e uma definição constante é que você deve , em seguida, declarar o valor da constante. Então aqui nós precisaríamos dizer, igual a e então eu posso simplesmente colar na string, mas eu copiei. Eu posso então substituir o valor literal pelo nome da minha constante. Aqui está outro candidato, embora curto porque é um valor literal. Torná-lo uma constante torna seu código fácil de manter, então eu vou fazer a mesma coisa. Copiá-lo, declarar uma constante. Desta vez vamos chamar os critérios e novamente bem ritmo no valor e substituir o valor literal pelo nome da nossa constante. E, finalmente, vamos fazer o mesmo para a pasta de trabalho de destino. E mais uma vez, vamos substituir o valor literal para que você possa imaginar que seu código se torna mais complexo usando essa técnica torna seu código muito mais fácil de manter. Você não tem uma caçada para esses valores literais. Será declarado junto com toda a sua outra Constance. Então, neste exemplo, se quisermos usar nosso código para encontrar outro intervalo em vez do cérebro, o intervalo, vamos apenas voltar para a pasta onde esses dois arquivos residem. E eu vou pegar uma cópia do Brain Stofile segurando agora o controle e apenas arrastando para copioso. Então vamos renomear isso com outro intervalo. Então são fictícios. Empresa arranjou chamado Comunhão Do. E se voltarmos agora ao nosso código, podemos mudar os nossos critérios. E também o nome do arquivo o nome da bile alvo. Então, ao ter minha constância no topo aqui, ele só torna muito mais fácil atualizar esses valores literais e fazer meu código fazer algo um pouco diferente. Logo é apenas testado. E como podem ver, agora cria um arquivo do comitê. A única coisa que me esqueci de mudar é o nome ou a folha de trabalho. Então eu só vou fechar esta cidade em seguida aqui str critérios também pode ser usado. Pergunte o nome da Work Street, então faça isso aqui. Temos permitir produtos elogiados na planilha agora tem o nome certo. Ok, então os melhores conselhos sempre usam definições constantes em vez de valores literais para garantir que seu código seja muito mais fácil de atualizar na manutenção. 22. 2.8. Usando MsgBox para saída: V B. Uma função de caixa de mensagem é usada tanto para transmitir informações ao utilizador como para obter feedback do utilizador. Neste vídeo, estamos olhando para fora, colocar em informações usando a função caixa de mensagem, e no próximo vídeo, vamos passar para olhar para obter feedback do usuário. Então, em nossa pasta de treinamento, ainda estamos trabalhando em 02 elementos-chave do código B. A. Vamos agora abrir 08 usando uma caixa de mensagem para saída. Vamos para a guia desenvolvedor em Click on Visual Basic to Lourdes, o editor visual basic VB aqui à esquerda, você verá que não temos atualmente nenhum módulo, Então vamos remediar isso indo para inserir módulo. E eu só vou renomear o módulo usando a janela Propriedades e vamos chamá-lo em e suas pessoas. Eu vou colocar, em seguida, sobre a janela de código a menos que em vez de macro meu jogo para inserir procedimento em, vamos chamar a macro básica em votos para que possamos construir sobre o que foi coberto no último vídeo, ou seja, Constance. Vamos criar Constance para manter os atributos da caixa de mensagem que será criado, ou seja, o título no prompt. A primeira constante bem, na verdade para o Bronx. E esse é o texto exibido dentro da bolha olha para usar a palavra-chave Const Str String, e vamos chamá-lo prompt. E então vamos fazer outra constante para o título Bento realmente exibir a caixa de mensagem vai usar a sintaxe longhand, o B B A. Tem contração tem caixa de mensagem, e eu recomendo que você continue fazendo isso por um tempo apenas para lembrar a si mesmo onde caixa de mensagem se encaixa dentro do grande esquema das coisas. Portanto, não faz parte do Excel. É parte de Phoebe A em sua parte da classe de interação porque a caixa de mensagem é a única declaração nesta linha de código. Não precisamos de suportes. Só precisamos de um espaço. Então seguiremos de novo as melhores práticas. Isso não é essencial, mas é apenas muito útil para fazer quando você vai aprender em B B A. E, posteriormente, vamos colocar o nome fora dos parâmetros tão rápido. E, claro, nosso prompt é constante. Esse é o seu problema. Coma e na escola, que é o personagem de continuação. E então vamos apenas guia através de uma linha, o segundo parâmetro que vamos usar sob o primeiro. Então, porque nomeamos nossos parâmetros, podemos colocá-los em qualquer ordem. Então o 2º 1 eu vou colocar seu título e há um tolo é ciclo str, e vamos colocá-lo que assim outro personagem continuação eo terceiro 1 nós vamos colocar seus botões. Este parâmetro oferece muitas opções. E é esse parâmetro que determina se você vai usar a caixa de mensagem para saída ou entrada ao usá-lo para saída. Você está interessado em definir a natureza da mensagem. A mensagem que estamos exibindo aqui é para fins informativos. Então, uma boa para você para isso é informação BB. Então vamos olhar para o resultado em Aqui estão os resultados de usar as informações que obtemos as pequenas informações como em exibição Próxima mensagem mais quaisquer senadores que temos um ping apenas para contrastar isso com o simples velho bloqueio I. Se eu excluir esse último parâmetro e executar novamente, não haverá sinal sonoro e não haverá ícone. E agora vamos olhar um contrato com uma mensagem de aviso. Ele virá macro, basta colá-lo acima do original. Claro, temos que mudar o nome. Vamos chamar de mensagem de aviso. Desta vez quero estar sempre no nosso título. Vamos mudar o ícone que mostramos dentro da caixa de diamante, não apenas atrasou o antigo. A fim de mostrar a inteligência que vimos aqui usará a exclamação. Então as mulheres correm de novo, somos espancados, e desta vez temos um triângulo de advertência para indicar que esta é uma mensagem de erro. Então, à medida que você concede, o parâmetro buttons fornece a função de caixa de mensagem com muita flexibilidade. Essa flexibilidade inclui a obtenção de feedback do usuário, que é o que abordará no próximo vídeo. Mas antes de deixarmos este só para apontar também que você pode ter um monte de informações na caixa de mensagem e você pode exibir as informações em várias linhas. Vamos basear outra cópia para um procedimento original, e vamos continuar este detalhado na votação. Então, digamos que queremos dar algumas informações ao usuário sobre as opções de suporte técnico , então mudaremos o título para suporte técnico. E então digamos que queremos ter uma mensagem de três linhas na primeira linha. Queremos dizer Há três maneiras de ter dor, suporte técnico e, em seguida, queremos deixar uma linha em branco e Tabin e colocar o primeiro método . Então, para fazer isso, podemos apenas usar o espaço de caracteres de continuação sob a escola e, em seguida, apenas continuar nossa string nas próximas linhas. Eu só estou tendo uma cruz, em seguida, usando e comercial para continuar a corda. E então podemos usar um par de constância que o B A tem que são nova linha na guia novamente , Nós não vamos apenas colocar as constantes. Podemos usar as mãos longas nos impostos só para lembrar onde essas constantes vivem. Então essa parte do BB A e eles estão em uma classe chamada Constance V B uma Constança Negra. E então quando você pressionar ponto novamente, eles virão Então nós não seremos a nova linha e queremos tabulação, que também é constante. Então comercial b b a ponto constante não ser girado e, na verdade, nós também queremos ter um linhas em branco apenas para novos caracteres de linha. Então, eu só vou copiar esse pedaço de código em um lugar hoje. Então você tem uma nova linha de ataque. O primeiro método é portar e comercial. Então queremos ter outra linha em branco sobre Tabby. Então, copie isto. Use no controle e arraste. Eu apenas ignoro o fato de que temporariamente pensa que eu cometi um erro porque personagens de inovação espaço vêm para a escola. Ban a maior parte deste como Então, quando você se acostumar a ser uma sintaxe, obviamente você pode apenas colocar ser a nova linha na cidade BB. Mas eu recomendo, uh, enquanto você está aprendendo, apenas continue usando essas mãos longas em impostos. E você também vai notar que quando você usa essa sintaxe, você obtém o benefício da inteligência. Então, quando eu colocar o meu ponto aqui, Vossa Majestade, todas as constantes estão listadas para. Então esse é outro benefício de usar a técnica da mão longa como um mecanismo de aprendizagem. Então vamos testá-lo. E são todas as três linhas sem novos caracteres de linha e nosso caractere de tabulação chutando. É uma conta bem grande. Eu sempre encontrá-lo em densa bastante consideravelmente, então a maior parte do tempo você pode preferir apenas usar espaços. Mas só para ressaltar, esse personagem pode ser usado dentro de suas caixas de mensagem. Então isso conclui o nosso olhar para a saída em informações usando caixa de mensagem. No próximo vídeo, vamos seguir em frente para olhar. Receba comentários do usuário por uma caixa de mensagem. 23. 2.9. Usando MsgBox para entrada: neste vídeo, vamos passar a olhar para o uso da função caixa de mensagem para entrada do usuário. No último vídeo, vimos como ele é usado puramente para saída, mas é muito flexível. Ele também pode ser usado para entrada. Então você sabe 02 elementos-chave de B B. Um código que não somos contra armas 09 Usando a função caixa de mensagem para entrada e, em seguida na guia desenvolvedor, clicamos em Visual Basic, e aqui você vai descobrir que temos uma macro, que escrevemos alguns vídeos de volta, que simplesmente filtra usando o interior do choro especificado e, em seguida, copia os dados filtrados para uma pasta de trabalho separada. Então, o que queremos fazer é antes que essa sub-rotina seja executada, queremos verificar com o usuário se os dados estão prontos. O usuário pode responder sim ou não. Então vamos ver como essas coisas. Primeiro de tudo, você vai notar que eu mudei o submarino público para filho particular, e o resultado disso é que é uma cavala bhangra. Então, se eu voltasse para o Excel e olhasse para o meu Macron, verá que não está mais listado. O que isso significa é que esta sub-rotina é apenas agora deles. Não é das pessoas que o Macron te chama. Agora escreva uma macro. Nossa macro pode chamar essa sub-rotina, mas a sub-rotina não podemos executar como uma macro em seu próprio direito? Vou inserir uma macro usando este procedimento, e vamos simplesmente chamá-la de principal, e eu vou movê-la para o topo da pilha, como selecioná-la ao arrastá-la para aquele local. Então, o que queremos fazer aqui é exibir uma caixa de mensagem e, em seguida, capturar o resultado se o usuário clica no botão sim ou no botão no. Então vamos apenas dar uma olhada na sintaxe envolvida indo para ver navegador Object. E aqui está a nossa caixa de mensagens. Está no V B, uma caixa de mensagem de interação da biblioteca, e quando você olhar para a descrição, você verá que tem os parâmetros, alguns dos quais temos usado. E, em seguida, no final, temos essa palavra-chave, como seguido pelo resultado da caixa de mensagem VB, e isso nos diz que essa função retorna valor fora do tipo Fyvie mensagem resultado, e isso basicamente é uma coleção de Constance . Então, se eu clicar neste link. Na verdade, mostra-me quais são os valores possíveis. Então estes são os membros fora VB mensagem pops resultados, e eles basicamente indicam qual botão o usuário clicou em. Então vamos usar o VB. Sim, não há tempo. Daí os dois resultados possíveis são bebê Não on, baby. Sim. Então, a primeira coisa que vamos fazer é declarar uma variável fora do tipo de resultado caixa de mensagem VB tão fraca em, Vamos chamá-lo VB um resultado como resultados caixa de mensagem bebê. Então, agora, quando viemos exibir a caixa de mensagem, precisamos capturar o resultado. Por isso dizemos: Vamos ser um resultado igual. E esta é uma daquelas ocasiões em que podemos ignorar as sugestões de inteligência. Nenhum deles é o que procuramos. O que realmente queremos fazer é exibir uma caixa de mensagem, então usamos B A interação pensamento não caixa de mensagem, e então vamos precisar de parênteses porque a caixa de mensagem não é a única instrução na linha e, em seguida, o parâmetro prompt e usará o parâmetro buttons para especificar que é uma caixa de mensagem BB Yes, no style. Então, botões de carvão. Ele me chama de ser? Sim, não. Então, sem esse parâmetro, não teríamos os dois botões que precisamos para obter o correto quando o usado, a fim de testar o resultado vai precisar de uma declaração if e realmente discutir pagamentos até que a próxima seção são bastante Direto. E eu acho que um monte de pessoas terá encontrado eles como funções excel o excel uma função. É muito parecida. Na verdade, se alguma coisa, ele acha que aqui a estrutura básica é que temos a palavra-chave. Se, em seguida, temos um teste e, em seguida, a palavra-chave, em seguida, especificar declarações que queremos executar. É verdade. Então temos a palavra-chave mais seguido pelas declarações a serem executadas. Se o teste for falso, Onda, então fechamos com o fim. Se com o fim se afirmação tão muito simples. Então teste basicamente vai ser fora vb um resultado e nós estamos testando para ver se ele é igual sim e, claro, tendo definido o tipo quando eu digitar sinal desigual, ele me dá todos os valores possíveis Então eu posso apenas clicar duas vezes em B B. Sim, declarações verdadeiras, basicamente, se os dados estão prontos, Eu só quero executar ou chamar meus dados de cópia, dito procedimento. Para fazer isso, você pode literalmente apenas colocar o nome do sub procedimento, e isso fará com que ele execute o procedimento sub. Nesse ponto, práticas recomendadas sempre para usar as chamadas de palavra-chave, mesmo que seja opcional. Ele só dá mais de uma pista quando sua digitalização em seu código, onde chamadas para alguns procedimentos ocorreram se os dados não estiverem prontos, exibirá uma mensagem de erro e interromperá a macro. Então esta vai ser outra caixa de mensagem. Não há necessidade de parênteses, porque a caixa de mensagem é a única instrução na linha. Apenas um espaço e, em seguida, em um prompt e novamente irá usar o parâmetro botões em. Desta vez será uma explicação. É isso. Então essa é a nossa macro. Vamos testá-lo e, em primeiro lugar, clique em. Nenhum Data não está pronto. Ali está a nossa caixa de mensagens a entrar. Agora vamos testá-lo novamente com o botão sim. Então, quando clicamos, sim, ele vai em frente e executa a macro e este resultado no relatório do que criado para nós. Vamos fechar essa. Você vai se deparar com um monte de código onde o resultado da caixa de mensagem avaliação fora é feito usando valores numéricos. Mas eu recomendo que lá, quando você está fazendo isso, especialmente como um iniciante, você deve sempre usar os resultados da caixa de mensagem VB como seu tipo de dados. Isso só torna a vida muito mais fácil, porque aqui você não tem uma preocupação com, mas em valores numéricos por barra de espaço expressa controlada, então ele sempre vai me mostrar todos os valores possíveis como um muito facilmente reconhecível constante. Isso é uma rápida olhada em como você pode usar a caixa de mensagem para entrada. O que você não pode fazer. Claro, minha caixa de mensagem é muito digite um valor, mas que você precisa caixa de entrada. E há dois sabores, um fornecido por Phoebe A, que é bastante básico, e uma variedade mais avançada, que é fornecida pelo objeto de aplicação. E nós estaremos olhando para essas duas variações nos próximos dois vídeos 24. 2.10. Usando VBA InputBox: nos próximos dois vídeos, vamos olhar para as duas variações da função de caixa de entrada, que você tem disponível para você como um programador. O primeiro é o V B, uma caixa de entrada, que vai olhar neste vídeo. E então há uma versão um pouco mais avançada, que é a caixa de entrada de ponto do aplicativo, e vamos olhar para isso no próximo vídeo. Então, em 02 elementos-chave do código B A, vamos abrir o número 10 uso no BB, uma caixa de entrada, e então vamos passar para o editor visual basic. Você descobrirá que temos um único módulo, e quando você entrar nele, temos a macro de dados de cópia que criamos em um vídeo anterior, e o que queremos fazer agora é em vez de ter uma constante para determinar os critérios que está sendo usado, queremos que o usuário forneça os critérios. Então, a primeira coisa que vamos fazer é se livrar da constante alvo STL, e vamos apenas usar str cry interior para determinar qual pasta de trabalho está aberta sobre os critérios que ele usou para Crianças. Vou apagar esta linha e só para esclarecer. Como isso não será mais uma constante, ela se tornará uma variável. Vamos mudar o caso. Então usar maiúsculas é a convenção para distinguir Constance das variáveis. Então eu vou fazer, encontrar e substituir. É substituir e vamos colocar isso em um caso normal e agora precisamos convertê-lo em uma variável. Então Const torna-se fraco e, claro, é igual a Entrar. Agora se torna obsoleto, não permitido porque variáveis não podem ser declaradas e atribuir valor ao mesmo tempo. E então vamos apenas sob um comentário aqui que precisamos que o usuário forneça um valor para critérios str . Então, tendo excluído alvo str, agora precisamos substituí-lo por critérios str. Então, quando chegamos a abrir a pasta de trabalho de destino foram tirados o local fora da pasta de trabalho que contém esta macro usando passado escuro e, em seguida, marcando o que waas uma constante. Então, o que agora precisa fazer é apenas construir isso como uma string que inclui nossa variável de critérios str . Então, apenas para lembrá-lo da estrutura do caminho, aqui está o trabalho com o contém macro, então ponto caminho significa que a pasta que contém esta pasta de trabalho. Em seguida, marcamos em uma barra invertida indo para a tag pasta de vendas em STR critérios porque isso irá conter o nome real do intervalo e, em seguida, finalmente tag no ponto XLs X. Mas enquanto extensão. Então, aqui quando chegamos a abrir pasta de trabalho de destino, temos aplicação não este trabalho até o passado e, em seguida, após o n por cento, podemos agora coloca festival a barra invertida Ben vendas outra barra invertida fechar a string comercial e str critérios e finalmente e por cento não x X, modo que irá garantir que abrimos a pasta de trabalho correta para copiar os dados filtrados. E, claro, os critérios STR já estão em vigor. Então, tudo o que precisamos fazer agora é preencher critérios str por uma caixa de entrada. Então, para fazer isso, ele vai ser deixado porque é o critério str variável de dados igual e, em seguida, a caixa de entrada . Usamos esta parte do d A. É um membro da classe de interação e porque a função caixa de entrada não é a única declaração na linha, então precisará de parênteses. Colocamos o nosso cólon imediato igual a. Então podemos colocar um título. E então vamos especificar um valor padrão, e isso é tudo o que precisamos. Então vamos testar nosso código. Aí está o nosso padrão. Vou substituí-lo. E quando eu clicar em OK, para cima vem eu vou entrar. Faça a pasta de trabalho com os dados filtrados. Vamos fechá-lo e testá-lo novamente. E desta vez deixe o valor padrão e lá está o nosso cérebro. Relatório. Então essa é a versão V B. A fora da função caixa de entrada, e a coisa chave a lembrar é essa limitação que ela tem. Ele sempre retorna um valor de string, por isso é bom, rápido e fácil de usar para um monte de interação com o usuário. Mas se você estiver interessado em obter o usuário para inserir valores numéricos, então a caixa de entrada de ponto do aplicativo, que vai olhar no próximo vídeo, é uma escolha muito melhor. 25. 2.11. Usando o aplicativo MsgBox: neste vídeo, vamos dar uma olhada na caixa de entrada de pontos do aplicativo e vamos examinar o parâmetro, o que o torna um pouco mais sofisticado do que a variação V B A. Então agora 02 pasta. Vamos para o último arquivo 11 usando a caixa de entrada de ponto do aplicativo e, em seguida, ele vai para o visual basic. O que queremos fazer aqui é criar uma nova versão fora de uma macro que fizemos alguns vídeos volta onde pedimos ao usuário para inserir valores e, em seguida, preenchido três células dentro deste assento de trabalho. Então nós colocamos uma quantidade em um 15 a descrição e ser 15 e, em seguida, um preço em E 15. Então, se eu usar um aplicativo na caixa de entrada, podemos apenas verificar se o usuário insere um valor numérico em quantidade a um preço unitário, apenas para lembrar que nós nomeamos nossas folhas assim como o nome da guia. Na verdade, temos um codinome ao qual nosso bebê um código poderia se referir, então está dentro do Macron. Inserir procedimento. Vamos apenas chamá-lo de dados inseridos para que possamos começar com fatura de propriedade não variam 15 iguais, e desta vez é caixa de entrada do aplicativo, e quando os parâmetros aparecem, você verá que eles são muito semelhantes ao V B. e desta vez é caixa de entrada do aplicativo, e quando os parâmetros aparecem, você verá que eles são muito semelhantes ao V B. caixa de entrada. Nós temos os problemas. Você tem um título. Você pode definir um valor padrão. Mas a diferença importante é que temos este parâmetro final aqui chamado type. E isso é o que nos permite especificar o tipo de dados que a caixa de entrada aceitará. E se o usuário entrar em um horário diferente, uma mensagem de erro é gerada automaticamente. Então vamos para o navegador de objetos e dar uma olhada nesses Intacs. Eles vão atravessar para se destacar para isso no objeto aplicativo um homem rolar para baixo para a caixa de entrada, que força uma função foram selecionados um objeto que você pressiona F um ou clique no botão de ajuda. Você será levado ao único e ajuda e será dada uma descrição desse objeto. Então vamos rolar para baixo. Nós temos uma descrição de nossos parâmetros, que são praticamente os mesmos que os parâmetros BB A. Mas então o que estamos interessados é apertado quando nós rolamos para baixo aqui, ele nos dá as diferentes opções que você pode usar. Os dois que estavam interessados em, uh, número e texto em um vídeo mais tarde iriam dar uma olhada em quê? Usando a caixa de entrada para pegar uma referência de célula do usuário, que também é bastante útil. Então, como você pode ver, se especificarmos o tipo um que torna a nossa caixa de entrada numérica e especificaria o tipo dois que torna uma caixa de entrada de string. Então ele se transformou em nosso código. Vamos começar com o prompt um homem que está no título e finalmente o tipo. E, claro, colocamos um para torná-lo numérico, e então podemos simplesmente copiar esta linha. Então, estou segurando o Dragão de Controle. Uma das coisas irritantes é que quando você faz isso, ele não deixa o destaque no lugar. Então, se você quiser copiar novamente, você deve realçar manualmente os dados novamente e, em seguida, controlar arrastar para copiar. Claro, isso se torna uma descrição sobre o tipo aqui é então temos o preço unitário, que novamente é um. E finalmente, vamos mudar nossas referências de celular para ser Andi. Então, como eu disse, o principal benefício desta aplicação, não caixa de entrada, é a validação de dados incorporada. Então vamos colocá-lo à prova e deixe-me digitar t w o em vez de colocar o número dois. E quando eu clicar em OK, você verá que ele tem uma forma aromática inserida automaticamente. Então isso só te lembra o que eu preciso fazer. Então eu vou colocá-lo e minha descrição e novamente, ele não gosta de texto e eu sou forçado a colocar um número. Então, há os meus três valores. Então, sempre que você estiver inserindo valores numéricos, sempre use aplicativos de caixa de entrada em preferência ao V B uma versão. 26. 3.1. Se declarações: nesta seção estará olhando para VB um estruturas de controle estruturas estruturas de controle permitem que você agrupe várias linhas de código de maneiras úteis. Os dois principais tipos de estrutura de controle uh, condição ALS e condição de loops ALS permitem que você execute várias linhas de código com base nos resultados de testes lógicos. Loops permitem que você execute várias linhas de código repetidamente, e eles são muito úteis para o processo em vários objetos. Então, por exemplo, cada arquivo e pasta ou cada planilha em uma pasta de trabalho para obter a bola rolando nesta seção, vamos começar por ter a aparência de, if declarações, então 03 BB A instruções de controle. Vamos abrir um if declarações e, em seguida, vamos para o editor visual basic você vai descobrir que temos um único modelo M if declarações e dentro dele é uma macro que vimos algumas vezes, que pede ao usuário para fornecer critérios e usa esse critério para filtrar alguns dados e copiá-los para outra pasta de trabalho. Então, o que queremos fazer aqui para praticar o uso de if é fazer com que nosso código seja executado tanto no Windows quanto em versões Macintosh do Excel no momento, ele só será executado em computadores Windows. Isso ocorre porque o sistema operacional Mac não reconhece barras invertidas em caminhos de arquivos. Em vez disso, ele usa Colon como o separador. Então, se queremos que isso seja executado tanto no Mac quanto no Windows, precisamos garantir que verificamos para ver a versão e, em seguida, usar um caminho de arquivo, que é apropriado para esse sistema operado. Então, uma vez que usamos uma constante para pegar no final do caminho do arquivo, nós obviamente entramos em meio código, que tenta alterar esse valor. Então o que vai fazer em vez disso é criar duas constantes uma para o Windows, que é uma que já temos e, em seguida, uma vez um Mac. Então eu vou apenas selecionar esta linha, manter pressionada a tecla Control e arrastar a linha para copiá-la. E então vamos renomear a cópia. Fonte str. Mac sob a escola de volta para legibilidade. E então mudaremos isso para um formato que o Mac entenderá. Então, simplesmente colocamos carvão em vez de barra invertida. Então, agora, quando chegamos a abrir a pasta de trabalho fonte e nós construímos nossos caminhos de arquivo em vez de apenas tomar em str fonte terá que testar para ver qual sistema operacional está sendo usado em qualquer tag na fonte str ou str source. O Mac. Então, para tornar esta linha condicional, isso mesmo. Mas dentro de uma declaração if e eu só vou tocar na linha, basta pressionar a tecla tab para movê-lo apenas para legibilidade. Então a estrutura fora de uma declaração se é. Se Teste Onda teste é qualquer teste lógico em outras palavras, um que só pode avaliar verdadeiro ou falso, em seguida, esta linha será executado. Se o teste for verdadeiro, não temos outra palavra chave e outra linha que executa se o teste for falso, então obviamente será uma alma muito parecida. Basta controlar arrastar para copiar essa linha e fechar a instrução if que temos que usar e, em caso afirmativo , em uma simples instrução if, aqueles da palavra-chave ou. Então nós temos se, em seguida, e se assim for, vamos dizer que vamos testar para ver se o sistema operacional está de volta tão claramente se é Mac, vamos querer str sore smack em vez de str fonte. Vou substituir isso por fonte str. O Mac. Agora precisamos chegar a um teste que verifica que o Macintosh e para fazer o teste, eu vou usar o sistema operacional adulto aplicativo. Esta é uma propriedade do objeto do aplicativo, que retorna uma string. A string não consiste puramente em Windows ou Macintosh, mas terá estômago com Windows ou Macintosh. Então meu teste é simplesmente vai ser faz aplicativo ou sistema operacional. Comece com a palavra Macintosh para testar se ele começa com a palavra Eu vou usar a função esquerda, que você provavelmente encontrou em fórmulas do Excel. Como de costume, eu vou escrevê-lo longhand, então v b a. E é nas cordas perto, não esquerda quando você abre parênteses após o tipo em um nome de função. Normalmente, Excel exibirá uma dica de ferramenta, mostrando os nomes dos parâmetros e a ordem em que eles vão. Acho que é porque a palavra Ben segue os parênteses abertos. Então, se eu fechar meus parênteses e seguir em frente, então vamos colocar a abertura que o Prince vê de volta. Você pode ver agora que ele exibe os dois parâmetros, e novamente, eu vou entrar no modo overkill e realmente colocar os parâmetros nomeados. Então, primeiro de todos os dois pontos string é igual. E é aqui que vou precisar do meu sistema operacional de ponto de aplicação. Esta é a string que eu vou estar operando e verificando para ver se ele começa com aplicação Macintosh, não coma do sistema operacional. E, em seguida, a segunda é a lente ou o número de caracteres que você deseja extrair a partir da esquerda. Então comprimento, claro, é claro,vai ser o número de caracteres na palavra Macintosh, que é nove. Ok, então o que eu vou dizer é, se tudo isso é Macintosh, então agora eu simplesmente digitar é igual a embalar e esfria. Ser texto tem que ir entre aspas duplas, então esse é o primeiro trabalho. Mas a pasta de trabalho de origem e nós garantimos que o caminho str irá conter a constante apropriada para o sistema operacional em uso. Agora podemos simplesmente copiar que se declaração em, usá-lo para a pasta de trabalho de destino que abrimos aqui e novamente, eu só vou embrulhar esta linha do avesso. Se declaração de modo que o teste será exatamente o mesmo. Basta colar isso, e então aqui nós teríamos o nosso outro. Então eu posso copiar a linha na tecla Close, e se sim, porque nós testamos para ver se é um Macintosh. Este é um que terá de mudar. Então precisamos negociar é o estilo de que para o estilo de um caminho de arquivo Macintosh. E fazemos isso colocando Colon nessas duas posições. Então é isso. Então nós seguramos que estávamos tentando abrir uma pasta de trabalho que construímos em um caminho de arquivo que o sistema operacional poderia entender. Então agora podemos transferir esse código para um Macintosh e verificar se ele é executado. Então salve-o e, em seguida, atravessamos para um Mac. Então, primeiro de tudo, dê uma olhada no original antes de fazermos nossas mudanças. Então, nesta versão, você pode ver que só temos fonte str é a nossa constante e usamos em barras traseiras nas partes do arquivo . Claro, quando nós descemos para abrir nossa pasta de trabalho fonte porque estamos aderindo na fonte str, que é os caminhos de arquivo do Windows, ele vai quebrar correr fora da troca de critérios para entrar em fazer e imediatamente ele engasga. Começa com uma vogal. Buster tem Coghlan, mas então estamos tentando pegar na fonte str, que é nossa constante que tem esses backsplashes, e é a barra invertida que causa nele? Então, se eu clicar no De Buck, ele subiu. Qual é a linha do problema? Podemos ver que é fonte STL, e esses barra invertida é basicamente que causa o problema. Bem, vamos olhar para a versão final. Então nesta versão, vamos sair para constantes a versão do Windows, que usa barra invertida. Deixe-me sobre a moda homem, que usa o cólon melhor, que é o que o sistema operacional exige. Então, quando chegamos a abrir a pasta de trabalho do Astle, fazemos em nosso teste para ver se o sistema operacional é Mac e usamos uma fonte STL de volta se é e STL tão batendo que não é então para a língua no livro de trabalho, você pode ver que estamos fazendo o mesmo teste. Estamos usando a versão de dois pontos para Mac e a versão de barra invertida para Windows. Então vamos agora executar e novamente eu vou mudar os critérios para entrar em fazer desta vez ele abre a pasta de trabalho de vendas. Essa é a filtragem e as cópias, os dados e nossa operação são concluídos com sucesso. Então vamos passar para se destacar aqui. Então entre, faça a pasta de trabalho Onda, nós ouro Commander Data e a planilha de arquivo em vez disso é chamada comunidade também. Então este é um exemplo de usar a declaração simples que você está servindo basicamente para dois resultados possíveis. Se realmente é uma mulher, Boots. E se o teste for falso, você pega outro no próximo vídeo, vamos passar para olhar para o if else, if versão fora da instrução if, que permite que você forneça mais resultados possíveis. 27. 3.2. Se ... Declarações de outros: neste vídeo, vamos olhar para a estrutura if else if e a vantagem que isso oferece sobre a simples declaração que vimos no último vídeo é que você pode atender a múltiplas eventualidades. Então agora 03 do dreno na pasta Vamos abrir zero para se mais se e então no som em desenvolvimento. Vamos apenas clicar no Visual Basic e no Project Explorer, podemos ver nossos modelos. Temos um único múltiplo chamado em se eu estiver dentro que temos este esqueleto fora da macro que vamos escrever. E o objetivo desta macro será detectar a versão fora do Microsoft Excel, que está na máquina do usuário, e nós estaremos usando a estrutura if else, if para testar todas as diferentes versões que estamos interessados. Atenda em quatro E essas versões serão no Windows Excel 2010 e 2016 e no Macintosh Excel 2011 e 2060. Vamos olhar para os dois pedaços de sintaxe que será usando, além disso, é claro, para a instrução if. Então, em vista, vamos escolher o navegador de objetos indo para a biblioteca do Excel e olhar para os objetos do aplicativo e as duas propriedades que estavam interessados em primeiro lugar, sistema operacional. E isso faz com que esta seja uma string, então isso irá conter as janelas de palavras ou a palavra Macintosh, e então a outra é a versão. E embora isso seja basicamente numérico, você verá que ele é realmente tratado como uma string. Então, se queremos examiná-lo como um número terá que convertê-lo em um número porque a propriedade retorna uma força. Então começamos declarando as variáveis que queremos usar. Então, primeiro de tudo, queremos armazenar o nome da versão como no Excel 2010. E isso, é claro, precisará ser uma variável string para que possamos dizer dim str version string. Em seguida, queremos converter isso em um valor inteiro. Então vamos também dim cebola t versão como interject e para testar o sistema operacional. Vamos ter a nossa primeira variável booleana para que possamos testar para ver se o sistema operacional é Windows, e se for, vamos definir 1.000.000.000 valor para true demon bln wind como Julian Ao trabalhar com Excel fórmulas, você provavelmente se deparou com as funções de busca e busca. Eles permitem que você verifique se uma string ocorre dentro de outra. O equivalente em V B A é a função em cadeia i n str Então aqui podemos usá-lo para testar se as janelas palavra ocorre dentro do sistema operacional de aplicativos e podemos preencher nossa variável booleana bln win em conformidade. Então a sintaxe para isso é deixar BLM ganhar igual e, em seguida, podemos usar o nosso V b A na função string . Então está dentro V B A. É na classe cordas e é i n str Então o primeiro parâmetro é onde queremos começar ? E queremos começar do personagem um. Em seguida, especificamos a string dentro da qual queremos começar a procurar. Então esse é o nosso fluxo um parâmetro e é aqui que precisamos de aplicativos são sistema operacional e, em seguida, finalmente, especificar o que estamos procurando. Dentro dessa string, string dois parâmetro serão as janelas da palavra. Esta função produz um número que representa a posição do caractere da string para dentro string um. Assim, desde que este número seja maior que zero, sabemos que a string para foi encontrada na ciência durante um. É o nosso teste que precisa terminar com maior que zero. Então agora temos um teste que irá preencher nossa variável 1.000.000.000 com verdadeiro ou falso. Em seguida, vamos converter a versão para interjetar. Então aqui vamos preencher I versão NT estão em variável porque é uma variável de dados . Vamos usar a palavra-chave opcional. Vamos então inversão igual e então vamos precisar de um B B, uma função de conversão, que é C int e a coisa que convertemos em sua aplicação, não versão. Então agora temos os dois pedaços de informação que precisamos para detectar a versão do Excel que está sendo usado para que possamos agora entrar em nossa declaração if. Então vamos começar com 2010 no Windows. Então o teste aqui vai ser. Se a inversão for igual a 14, que é a versão ou 2010. E também Yellen ganhar é igual a verdade. Em seguida, podemos preencher a versão str com o Excel 2010 a versão STL é igual, e claro, é uma força. Excel 2010 e eu não colocamos a licença desta vez, mas vamos deixar isso passar. Então vamos versão str também é bom E claro, o que agora queremos fazer é testar para todas as outras versões. Vou copiar essas duas linhas selecionando-as, mantendo o controle pressionado e arrastando-as abaixo do original. Mas é claro, eu só posso usar a declaração if uma vez que está no segundo teste, eu preciso disso. Então agora estou testando para 2013 e esta é a versão 15. E, claro, bln. Quando ainda será verdade? Vamos agora copiar isso para o nosso teste de 2016. Então aqui testamos a Introversão 16. Então eu esqueci de mudar isso para 2013. Então é 2013. Este é 2016, então aqueles em torno de três versões do Windows vamos agora fazer o mesmo para as duas versões do Mac. Então eu vou apenas continuar copiando o meu outro se e, em seguida, modificando o controle de cópia arrastar. Então 2011 para Macintosh será o inteiro 14. Mas, claro, bln vitória será falsa. Então, excelente para Mac 2011. E então vamos apenas copiar que um pequeno sobre isso será 2016 que será o inteiro 15. Então testamos todas as versões que estamos interessados em avaliar. Se nenhum dos itens acima for encontrado, então podemos supor que é uma versão anterior a 2010 do Excel. Então, uma parte final da declaração será a outra. E isso vai dizer versão de aço é igual, Digamos, pré 2010 versão Excel. E então fechamos nossa declaração e se e nosso se está completa. E para completar a macro, vamos apenas exibir uma caixa de mensagem com a versão que foi detectada. A caixa de mensagem B A. Não interação não com o prompt melhor sua versão e marcará na palavra usada no comercial 57 detectado. E isso completa nossa macro. Vamos salvar as alterações. A Andi. Estou usando o Excel 2016 no momento. Como você pode ver. Não, na verdade, não estou menos no Excel 2013. Eu peço desculpas. Hum, isso é bom. Então vamos voltar, então ele deve detectar basicamente que eu estou usando o Excel 2030. Então vamos executar em seu Indeed, você pode ver Excel 2013 detectado. Então eu vou agora apenas testá-lo nas outras duas versões, as outras duas nessas versões e, em seguida, nas duas versões Macintosh. Então aqui estamos no Excel 2016. E aqui está o nosso macarrão. Então devemos ativar agora. Esta seção está sendo verdadeira. Isso funciona bem. Próximo 2016 foi detectado. Vamos mudar para 2010. Então, isto é 2010. Aqui está o nosso macro. Vamos ver se esta seção sobre declaração agora chuta. Isso funciona bem. Excel 2010 tem sido detetive, portanto, as três versões do Windows estão sendo detectadas corretamente. Vamos fazer o mesmo para nossas versões Mac. Então aqui estamos no Excel 2011 para Mac. Sr. Smith, através do editor visual básico. Então aqui, esperando a versão 14 no Windows. Falso para chutar. E isso é apenas clique em executar e, em seguida, podemos ver Excel para Mac, 2011 foi detectado que funciona bem. Excel 2016 para Mac. Quando entrarmos no editor visual básico , será um caso de onde está tudo. Como você pode ver no editor visual basic, tudo está faltando, basicamente. Mas aqui está o nosso código, e desta vez espero que na última seção comece. Aqui está o programa de execução botão play, e ele detecta Excel com Mac 2016. Então é assim que a estrutura se e else se funciona no próximo vídeo, vamos seguir em frente para olhar para o caso selecionado, que na face dele parece muito semelhante ao se anunciá-lo. Mas a principal coisa a lembrar quando você está usando, se então se é que com cada um dos seus testes você tem um pouco diferente 1.000.000.000 declaração diz Você pode ver cada vez que temos uma combinação diferente de versão e BLN vitória é igual a verdadeiro. Então, em outras palavras, são testes são mutuamente exclusivos. Nunca testamos a mesma coisa duas vezes por razões óbvias. E depois temos um catchall. Então, nenhum dos acima é verdadeiro. Então a seção de outros entra em ação. Portanto, este é o principal benefício de usar se então se você contestar as diferentes possibilidades. Oito dos protestos que você faz é único dentro do contexto da declaração. 28. 3.3. Selecione ... Caso: neste vídeo, veremos a instrução Select Case. Na cara dele. É muito semelhante à estrutura se um outro if que vimos no último vídeo. Mas seu principal benefício é a simplicidade. Vamos olhar para como ele funciona na pasta de treinamento em 03 v. B A. declarações de controle, Vamos abrir 03 Select caso. E aqui temos uma única planilha chamada Welcome. E o que queremos que aconteça é que toda vez que você abre esta pasta de trabalho, a data atual é essa lâmina. Mas também incluiremos em Ordina, LOL. data de hoje, por exemplo, é o oitavo de julho, então nós realmente queremos que o th seja calculado automaticamente e inserido na célula um. Então, quando vamos desenvolver nosso visual básico, não vamos criar um modelo porque não estamos escrevendo um banheiro. Isto é programação de eventos. Isto é algo que queremos que aconteça automaticamente. E quando esse é o caso, você usa esses objetos sobressaem objetos. Eles estão sempre lá, um para cada folha em uma para a própria pasta de trabalho. Então o que vamos fazer é clicar duas vezes nesta pasta de trabalho e, em seguida, digitamos código na janela de código. Melhor prática para criar o procedimento solar. É simplesmente escolher pasta de trabalho no menu suspenso no canto superior esquerdo anual, em seguida, apresentado com um gerado automaticamente algum procedimento no evento padrão. A abertura da pasta de trabalho é, de fato, a que queremos, e vamos começar definindo as variáveis que precisarão. Então a primeira coisa que queremos acompanhar é o dia da semana. E isso, claro, é um inteiro. Então vamos declarar uma variável inteira dim em hoje como em trabalho. E então queremos elaborar o orginal apropriado para aquele dia. E isso, claro, é um texto de duas letras. Então vamos dim str ordinário uma corda. Então essas são as duas variáveis que vão precisar e os passos que queremos executar. Vamos colocar alguns comentários para isso. Então, primeiro passo, extraindo o dia da data dentro da nossa variável dia. Isso vai ser deixado porque é uma variável de dados e hoje igual, e então nós obviamente vamos ter que olhar dentro V B A para encontrar a função apropriada. Então começamos com b b a. Então olhamos dentro da classe data hora, e aqui vamos encontrar Ok, esta é uma função, e simplesmente requer uma data. E, claro, a data em que estamos interessados é a data de hoje, e vamos olhar dentro da mesma classe. Então será um grande momento. E desta vez nós simplesmente aquece data, e isso nos dará a data de hoje. Então estamos extraindo a parte do dia. Oh, a data atual. Então agora vamos para a nossa estrutura de caso seleto. Então você diz selecionar caso e, em seguida, nove em cada 10 vezes você colocará o nome de uma variável cujo conteúdo você deseja avaliar. E neste caso, claro, é dia de jogo, e então você pensa em todos os valores possíveis sobre o que você quer fazer. Se for esse o caso, então o que queremos fazer é povoar str orginal com o orginal apropriado baseado no dia. Então vamos começar com S t o caso que será S T. E você pode especificar vários valores possíveis em uma linha simplesmente colocando uma lista separada por vírgula . Então, o 1 21 e o 31 precisariam que Esty é o comum, então a próxima linha você simplesmente coloca o que quer fazer. Se esse é o caso e o que queremos fazer é preencher str orginal com a corda s t. E como sempre, eu vou copiar e colar porque fica muito parecido a partir daqui. Portanto, mantenha pressionado o controle e arraste a seleção abaixo do original. Agora vamos fazer isso dois em 22 vai exigir nd e então finalmente rd Então nosso d d o terceiro e o 23 E para qualquer outro número, nós simplesmente queremos colocar isso há uma maneira especial de especificar todas as outras possibilidades e que o caso dele nenhum dos acima a verdade fazer o seguinte Vamos roubar mais velho. Não, você liga e fecha um Selectric. Uma instrução usou a sintaxe e selecione. Então, obviamente, poderíamos ter usado uma estrutura se else if para isso. Mas você pode ver como limpo e conciso esta maneira particular de fazê-lo se torna. A razão é, é claro, que estamos apenas avaliando uma variável. E então temos todos esses resultados possíveis para essa variável. Então este é o lugar onde selecionar casos mais apropriados do que se outro ele se um outro se é ótimo quando você está testando para coisas diferentes cada vez. Mas se você está apenas avaliando a mesma declaração ou a mesma variável do que casos selecionados, muito mais eficiente disse que a última coisa que queremos fazer é emitir a data usando o antigo , você sabe, em uma célula, um. Então, porque nós vamos trabalhar com esta folha que é chamada boas práticas para dar-lhe um nome, um nome de código, como é referido. E você faz isso na folha de propriedades apenas aqui em eu vou apenas usar o prefixo s idade, então shh, bem-vindo. E então podemos nos referir a essa folha por esse nome em nosso código. Então nós simplesmente dizemos que estados bem-vindos não chovem e é um. Ele vai em pensamento próximo, valor é igual. Então a primeira coisa que queremos é hoje e por cento. Então queremos o orginal str orginal e depois queremos marcar no resto da data. Então, para fazer isso, podemos usar a função de formato dólar apenas para mostrar onde isso vive, vamos ver o navegador de objetos, então é obviamente parte de V b A em vez de se sobressair em si mesmo, e está nas strings classe. Então, aqui está. Vamos formatos e ex-dólar. Eles fazem a mesma coisa que a vantagem do dólar formato é. Ele retorna uma força. Se você usou a função de texto no Microsoft, Excel em fórmulas e formato. Dólar é muito semelhante, então podemos terminar isso dizendo VB um médico cordas Eu pensei formatos Golan. Um homem entre parênteses. Dizemos o que queremos formatar, que, claro, é a data. Então esse é o estado em estado estado de coma. E, em seguida, entre aspas, colocamos o nosso formato para que precisemos de um espaço. Em seguida, o mês, que é quatro EMS para o nome completo do mês do que outro espaço e, em seguida, quatro sábios para um quatro dígitos. Sim, e é isso. Então podemos cafeinar juntos tudo o que precisamos para compor uma data que contenha o orginal apropriado. Porque nós colocamos isso dentro desta pasta de trabalho na pasta de trabalho, abrir algum procedimento. Ele iniciará automaticamente sempre que você abrir esta pasta de trabalho. Então vamos testá-lo. Nós simplesmente precisamos fechar a pauta, e então podemos fechar a pasta de trabalho e reabri-la, e depois sai oito, que é o oitavo de julho 29. 3.4. Para ... Próximos cordões: permitem que os programadores executem um bloco de código repetidamente e em VB, um particularmente útil o processo em todos os objetos dentro de uma coleção. Vamos começar nossa olhada em loops com o para o próximo loop. Então 03 BB um declarações de controle. Vamos abrir o 04 para os próximos loops. E então ele vai para o editor visual basic clicando na colisão visual basic. E aqui podemos começar a comprar dentro do módulo. Vamos renomeá-lo eu estou completo a seguir, e então ele está lambendo a janela de código à direita aqui em inserir um procedimento i e. um macron, demonstrando quatro innings. Perder o trabalho. Vamos criar uma macro curta chamada interesse e usará a facilidade de fala para falar uma introdução para o usuário. Então, a primeira coisa que você precisa fazer é definir um contador. E há um pouco de uma tradição em todas as linguagens de programação que você chama de contador I. Então você vai encontrar isso em um monte de código que você encontra onde o encontro está sendo usado. Eu, o que obviamente é curto. O indigente é o nome do seu contador, então vamos ficar com essa tradição, e temos dim I como inteiro. Então, obviamente, um contador é um número inteiro, então ele vai ser inteiro, ou se você está lidando com números grandes, então longo então a estrutura básica do loop é quatro. Contador é igual ao valor inicial ao valor final, e ele é fechado com o próximo contador Diga, em outras palavras, você repete o nome do contador após a palavra ao lado para indicar qual dos seus loops é encerrado nessa linha. E então, entre esses dois, você poderia ter tantas declarações quanto quiser. E para fazer melhor uso do for next loop, você normalmente utilizará o contador de alguma forma dentro do bloco de código. Então, o exemplo que vamos usar vai usar o contador I porque essa é a variável contador que acabamos de declarar. E o valor da pedra será um, e o valor final será três. Então, feche os olhos demais o nome do contador. Então, o próximo contador deve ser o próximo. Eu sobre isso só para lembrá-lo para que nós sabemos qual loop está terminando nessa linha porque é possível que você poderia ter um loop dentro de outro. Então vamos fazer é feliz feculento, não fale, não fale. O texto vai ser simplesmente eu tão bem aqui, nossa voz robótica dizendo 123 Então é claro que ele pára. E depois que ele parou, podemos dizer aplicação, não fala, não fala texto que é. Então vamos testá-lo. Quero três. Bata nele. Você também pode fazer loop em sentido inverso. Então vamos copiar este código e apenas modificar a cópia para que tenhamos uma contagem regressiva. Como em 54321 temos decolagem. Então, para fazer isso, usamos cinco como thes valor inicial no primeiro dia como o fim em valor. E então nós vamos apenas mudar isso para nós temos decolagem fora e vamos também renomeá-lo. No entanto, quando estou correndo, temos decolagem. Ele vai direto para esta linha no loop é perdido completamente. A razão para isso é que, a fim de obter do valor inicial para o valor final, B B A irá desperdiçar em um um por padrão. Então o que temos que fazer é substituir esse padrão e dizer a ele adicionar menos um, porque caso contrário ele nunca vai chegar de 5 para 1 e a palavra-chave para fazer isso é passo, então nós colocamos para fora passo para menos um. Em seguida, ele começa em cinco AGS menos um, o que leva para baixo para quatro e assim por diante. Então, quando corremos agora está bem para três para um, temos decolagem fora. Então, agora que demos uma olhada na mecânica do for next loop, vamos criar uma macro, que faz algo um pouco mais útil. Digamos que queremos ter uma macro que cria uma pasta de trabalho que tem folhas numeradas como você sabe, os nomes padrão para planilhas no Excel Nossa folha uma folha para etcetera. Digamos que queremos uma macro que irá criar uma pasta de trabalho e, em seguida, renomear as folhas puramente com números. Então, apenas 1234 e você pode fazer isso se você, uh, precisar de pastas de trabalho com um monte de feeds de trabalho, você quer apenas tornar os nomes o mais curto possível para que as guias todos visíveis e fáceis de navegar? Então o cofre, um pouco do tipo, e eu vou iniciar minha cópia nesta macro apenas para lembrar se você manter pressionada a tecla control e, em seguida, arrastou o texto selecionado para um novo local. Ele vai copiar. Então vamos chamar este um nomes numéricos de ruas, e então vamos tirar as linhas indesejadas para que o limite inferior permaneça como um, como na planilha um. Mas precisamos calcular o limite superior. Não sabemos quantas folhas a pasta de trabalho conterá. Isso depende das configurações do usuário. Então vamos declarar outra variável não índices como na Geórgia. E como você provavelmente sabe, os limites são. Um é o mínimo e 255 é o máximo, e também precisaremos de um dedo variável, uma referência à pasta de trabalho que foram criados. Então W k b novo que é o livro. Então, criamos uma nova pasta de trabalho e colocamos uma referência a ela dentro wk be new. Então, porque esta é uma variável de objeto, usamos a palavra-chave set bkb new igual ao aplicativo. Que livros não fazem mal. Tendo criado uma nova pasta de trabalho, agora podemos preencher nossa variável em folhas porque esta é uma variável de dados usar deixar em vez de definir, mesmo que, como você sabe, é opcional. Você não pode fazê-lo então vamos interceder bqool não bkb novo não folhas de trabalho não contam. Então agora podemos levar em lençóis como um limite. Então saltamos da folha um dois. Ela dura se você quiser, e dentro do loop, nós simplesmente queremos alterar o parâmetro name. Então isso vai ser adorável. A Katy. Novas frotas de trabalho e entre parênteses podemos usar o nosso contador porque isso vai obviamente mudar cada vez que esta linha é executada. E então nós simplesmente dizemos, Não nomeie igual a I. Então o nome da folha é o valor do contador e nada mais. Então, antes de testá-lo, eu vou entrar em minhas configurações do Excel para minhas próprias opções, e eu vou alterar esse valor. Então, vamos fazer 12. E então isso está rodando em nomes de Macro America Street run, e há minha nova pasta de trabalho e, como você pode ver, tem 12 folhas que têm esses nomes numéricos muito curtos. Então, isso é uma rápida corrida para baixo sobre como usar o para o próximo loop em. Como você pode ver, seu principal benefício é que dentro do loop, você pode utilizar a variável contador de muitas maneiras diferentes no próximo vídeo. Bem, contrasta isso com os quatro de cada próximo loop se foca simplesmente em Lupin através de todas as coleções, dentro de um objeto em que você não precisa particularmente usar um contador numérico. 30. 3.5. Para cada ... Próximos cordões: No último vídeo, vimos um computador para o próximo loop para olhar através de todos os objetos na coleção e como você poderia usar um contador numérico para sua vantagem. Se, no entanto, tudo que você precisa fazer é processar todos os objetos na coleção, e você não precisa ter esse contador numérico à sua disposição. Existe uma maneira melhor e mais conveniente, e esta é a para cada loop. Você sabe, 03 pasta Isso não é abrir 05 todos os próximos. E vamos para o desenvolvedor visual basic e criar uma macro. Dito isso, eu quero você em, vamos renomeá-lo, eu vou puxar cada um em seguida. Em seguida, vamos apenas clicar nos direitos de janela sapo e criar uma macro usando o procedimento de inserção . Vamos chamá-lo de livro de vendas ou apenas despejado U K B Open. E o que queremos fazer com essa macro é descobrir se uma pasta de trabalho exigida pela macro está aberta no momento. Então o que vamos fazer, é olhar através de todas as pastas de trabalho abertas e tempo Steve, mas eles obtêm as correspondências, o nome da pasta de trabalho que nossa macro precisa ter aberto. Então, com esta técnica, não precisaremos de uma variável contadora numérica. E, claro, o objeto em questão é uma pasta de trabalho. Então, vamos levar isso. Muito então, como vivemos, cada um de nossos livros vai querer testar para ver se é o que procuramos. Então vamos ter uma bota para colocar os resultados desse teste. E então, finalmente, vamos criar uma constante na qual podemos colocar o nome do mundo. Olha, nós precisamos estar abertos em vez de código na string mais tarde. E embora não seja estritamente necessário, vamos definir o dedo do pé aberto falso. Este é o valor padrão em qualquer caso, mas foi apenas enfatizar que BLN abre como o valor false antes do loop começar. E depois do Liu Ben, contestamos para ver se ele ainda contém o valor forçado. Então agora vamos dar uma olhada em nossa estrutura de Lupin, então vamos colocar na sintaxe genérica primeiro. Então, é claro, em nosso exemplo, a variável objeto é W K B. Cada um na coleção. Você acha que o mundo para ser aberto um extra e isso é tudo o que precisamos falar para instigar sua estrutura irá automaticamente colocar cada uma das pastas de trabalho abertas em nossa variável. E, em seguida, dentro de nossos quatro cada próximo loop, você pode examinar essa pasta de trabalho apenas se seu nome corresponde à nossa constante. Então aqui, é claro, vamos precisar de uma declaração “se”. Então, se isso acontecer, então nós definimos nossa variável booleana para verdade. E então não há nenhum ponto em continuar com o loop porque encontramos o que estamos procurando . Então, para sair loop, você pode usar a instrução sai quatro e, em seguida, fechamos a instrução if. Então isso conclui nosso saque. E até o final do loop BLN, Abrir ainda conterá false porque a pasta de trabalho não foi encontrada ou se a pasta de trabalho for encontrada. Se houver uma correspondência no nome, então ele terá sido alterado para verdade. Então, após o loop, agora podemos ter uma instrução if para testar o valor dentro bln open. Então vamos dizer que é igual a falso. Então queremos colocar uma caixa de mensagem para dizer que não podemos encontrar o arquivo que precisamos e, em seguida, para o outro em que fechamos sua declaração. Então agora vamos disputar o Macron no momento. A pasta de trabalho necessária não está aberta. Então, quando nós correr para cima vem a pasta de trabalho mensagem não abrir. Não vamos voltar para a nossa pasta em Abrir a pasta de trabalho. Então aqui está, vendas que XLs X e vamos executar a macro um pequeno. E, claro, há um erro de digitação, se você viu bem feito. Então isso não diz XLs X. Eu só vou mudar isso de novo e ele encontra a pasta de trabalho de vendas, e nós estamos prontos para ir. Vamos apenas fechá-lo para uma boa medida agora ele deve dizer não. Encontrado novamente, mas não aberto não pode continuar. Então esse é um exemplo simples de onde você usaria para cada seguinte, em vez de apenas a bola. Em seguida, onde tudo o que você deseja fazer é percorrer todos os objetos na coleção. Você não quer fazer as pazes. Você não quer fazer isso ao contrário. Você não quer fazer todos os outros, e você não precisa de nenhum contador de mérito. Então, e esse é o caso. Esta é de longe as melhores estruturas, Peters 31. 3.6. Fazer... Enquanto loops: em um loop de fazer while, uma série de instruções têm realizado condicionalmente. Enquanto a condição for verdadeira, as instruções foram executadas. Assim que a condição deixar de ser verdadeira, o loop pára para ver como funciona. Vamos entrar em 03 BB um declarações de controle e abrir 062 loops selvagens no O que queremos fazer aqui é ter uma macro, que produz uma lista única de nomes de gama de produtos. Mas para tornar a vida mais interessante, não sabemos onde será a coluna da gama de produtos. Então, a abordagem que vamos tomar é muito começar em um. A Andi. Enquanto houver dados na cela, continuaremos indo para a direita. Uma pessoa encontrar-se-ia sem dados. Então nosso loop vai parar. Vamos parar de se mover para a direita enquanto movemos para a direita vai testar o valor em cada célula. E quando encontrarmos a cadeia que estamos procurando, que é a gama de produtos, então vamos parar. Mas descobrimos que a gama de produtos sairá prematuramente. Se fizermos todo o caminho para a direita, então isso indica que não encontramos a coluna que estamos procurando. Vamos plantar um visual basic e criar uma macro, então vamos inserir módulo. Vou apenas renomeá-lo I m gamas de produtos. E uma vez que vamos ser manipulados nesta planilha, é uma boa idéia dar-lhe um nome de código. Vou chamá-lo de vendas imobiliárias, e então é incerto como micro dentro Procedimento vamos ao vivo lista de produtos. Vamos começar declarando as constantes e variáveis que precisarão. Então eu abri pela primeira vez a dor constante. A string que eu vou desdobrar em outras palavras, em seguida, irá definir uma variável de intervalo que irá iniciá-lo um e, em seguida, apenas manter movendo para a direita, e então nós vamos ter uma variável 1.000.000.000 de modo que se nós encontrarmos a string que estamos procurando, podemos definir para provar se a coluna que estamos procurando é encontrada, então, criar uma pasta de trabalho e, em seguida, irá criar uma variável de intervalo, que irá apontar para a primeira coluna dessa nova pasta de trabalho para que possamos copiar através do dados e remover duplicatas. Assim, a primeira operação que queremos executar é procurar, a partir de qualquer um para o cabeçalho da coluna, que é o intervalo str. Então, começamos por ponto em vendas RMG para vender uma de nossa planilha e, em seguida, antes de começar a looping, irá garantir que BLN encontrado é definido como falso explicitamente. Então agora chegamos ao loop e o loop de fazer while tem uma estrutura muito simples. Então temos as palavras-chave para enquanto e, em seguida, temos um teste booleano, um que tem que produzir o resultado. Verdadeiro ou falso? Então aqui estão teste será simplesmente se há alguns dados dentro da célula atual em. Para testar isso, podemos usar o BB. Uma função de informação está vazia, então obviamente não queremos que ela fique vazia. Então usamos a palavra-chave negação. Não enquanto não e, em seguida, estamos olhando dentro b b Um ponto de informação arma está vazio sobre o que queremos testar é, é claro, vendas RMG sentiu valor. Então essa é a concha do nosso ciclo de fazer while. E a primeira coisa que você deve colocar dentro de qualquer loop deste tipo onde é um loop condicional é uma declaração. O que vai impedi-lo de ser um loop interminável diz que você entrar no hábito, talvez explicitamente ter apenas colocado em um comentário e, neste caso, a coisa que vai parar isso de ser um loop infinito é o fato de que estamos movendo um Célula à direita. Se ficássemos presos na mesma cela, a liga nunca acabaria. Então, para mudar um lugar para os direitos, nós apenas reiniciamos nossas vendas de energia e nós a redefinimos em relação às suas meninas estrangeiras espectrais iguais . Foi a propriedade perturbada que tem duas direções verticais horizontais. Então veredicto. Queremos zero. Não nos movemos para baixo. Está tudo na horizontal, positivo para que possamos avançar em grampos. Então essa é uma linha muito potente dentro do loop que vai parar de ser um loop infinito. Em seguida, antes de passar para a direita, queremos testar o valor na célula para ver se ele corresponde a faixa str. E se isso acontecer, definimos nosso valor de 1.000.000.000 como true e paramos de fazer loop. Você pode fazer isso usando saídas fazer. Ao usar esta declaração, isso significa que as vendas laranjas permanecerão presas na coluna correta para que esta linha não chutará porque nós realmente sair no loop assim que encontrarmos o que estamos procurando. Assim que o live for concluído, podemos então ter uma declaração se para ver se encontramos de fato o que estávamos procurando . Então testamos em BLN encontrado sou mais antigo dizer coluna necessária, não encontrado que limites. Queremos copiá-lo e remover implicações. Então esta será a outra parte da nossa declaração “if”. Então vamos precisar de uma nova pasta de trabalho. E, claro, temos uma variável para esse propósito. E então apontamos novo para a primeira coluna dessa pasta de trabalho. Provavelmente se deparar com essa sintaxe ao usar fórmulas no Excel. Isso significa a coluna inteira. É quando colocamos os dados em que pode atingir o primitivo, é claro, o debate, e você não precisa contar nada antes de fazer uma cópia de linha. Outra coisa que copiamos, claro, não é simplesmente balanças RMG, porque se você se lembra, nossas vendas de energia são apontadas em uma única célula. Então, é a nossa coluna inteira do médico de vendas de energia, mas Poppy em seguida, especificamos o destino. que, claro, é a nossa energia nova, então o aliviado implica declarações é muito simples. Isso está no novo não permaneça duplicado, e os dois planetas tem comido festival e, claro, há apenas uma coluna, então podemos apenas dizer Chame ele um sobre se nossos dados têm cabeçalhos que você verá que temos três opções possíveis. Estes são o Excel, Constance. E, claro, você tem dor de cabeça. E fizemos toda a coluna. Então é Excel? Sim, e finalmente, vamos exibir uma mensagem dizendo que a operação está concluída e, em seguida, fechamos uma declaração com e, em caso afirmativo, vamos salvar nossas alterações e fazer alguns testes lá. Você pode ver que cria, Ah, novas florestas de pasta de trabalho em. Temos a Operação Mensagem Completa. Então a próxima coisa que contestamos é mover esta coluna para outro local algo e apenas colar é depois. E quando corremos, deve haver mudança. Você pode ver, não ainda olhou antes de deixarmos este tópico. Apenas para apontar variações que você vai encontrar é porque fazer o loop while também, enquanto estamos assim que dispensar fazer fazer em. Depois há esta palavra inventada, que é enquanto fim e é contratado para wend então você vai encontrar enquanto wend loops, que praticamente a mesma coisa. A razão pela qual o loop fazer é melhor é esta facilidade agradável que você tem que ser capaz de sair do loop fazer apenas com uma saída de linha. Faça se você quiser fazer a mesma coisa em um tempo, loop em um tempo. Loop Wend. O que você tem que fazer é colocar um rótulo em homens, ir para esses rótulos. É um grande fica um pouco desarrumado. Vou mostrar-te como se faz tão bem. Comente isso e então colocaremos um comando. Vá para aquela escola, nossa saída de rótulo, em seguida, para colocar um rótulo em B A. Se você digitar o rótulo que coloca e colocar uma cola que então se torna uma região nomeada, que você pode homens ramificá-lo em. Não é realmente recomendado. Fica muito desarrumado. Então vamos testar se ele funciona. Você pode ver que sim. Mas como eu disse, um, ir dois são más notícias, então não usá-los. Então eu vou desfazer tudo isso e colocá-lo de volta ao jeito que ele está e eu vou continuar desfeito. Então, lá estamos nós. Voltamos sem fazer tempo e loop on. Então, pouco antes de irmos. Só uma outra variação. O fato de que este teste pode realmente ser feito antes dos passos dentro do loop tudo depois, então eu posso realmente arrastar isso para o fundo aqui, e ele ainda vai funcionar. A diferença importante entre as duas posições é que se você tiver o teste após o loop, vez de depois que eles fazem, então todos esses passos serão realizados pelo menos uma vez. Eles garantiram que serão realizados antes do teste começar, e eu vou mostrar onde isso pode ser útil. Nesta circunstância. Vamos voltar à Work Street e inserir uma coluna em branco. Então, se rodarmos o código agora, é claro, o teste é realizado logo no início, então ele encontra a célula vazia imediatamente, e nada disso realmente acontece. Então, quando executarmos o código, você verá que a coluna necessária não foi encontrada. Mas se quisermos colocar este teste no final, isso significa que esta linha será executada antes do teste começar. Portanto, ele vai encontrar alguns dados, e ele vai eventualmente encontrar a célula que ele está procurando. Então, essa é a outra razão pela qual eu recomendaria sempre usado fazer enquanto loops porque você tem essas duas instalações realmente úteis. Você pode sair do loop prematuramente usando a saída Fazer on. Você tem a escolha ou onde posicionar o teste, e você pode simplesmente fazê-lo estrategicamente, dependendo das circunstâncias que você espera encontrar. 32. 3.7. Fazer... Até os laços: em V B A. O loop fazer até atingir exatamente o mesmo objetivo é o fazer descontroladamente. É simplesmente outra maneira de expressar exatamente o mesmo teste. Vamos dar uma olhada em como ele funciona indo em 03 em, em seguida, 07 Faça até que aqui. Temos exatamente a mesma pasta de trabalho que tínhamos quando discutimos. Faça enquanto, e se formos para Visual Basic, verá que tem o mesmo macron. Então aqui está a seção selvagem fazer e o que estávamos dizendo com este teste com Basicamente, vamos começar em um. E enquanto não temos uma célula vazia, continue se movendo para a direita, tanto quanto testes para fazer isso em um fazer até que simplesmente substituamos enquanto não com. Até lá agora estamos dizendo, comece com um e continue indo para a direita até encontrar a cela em branco. E como você pode ver, isso é exatamente a mesma coisa. Então, quando executamos a macro, obtemos exatamente o mesmo resultado, e não há preferência real para usar em qualquer abordagem. Basta usar o que você achar que parece mais lógico. Então vamos agora entrar e direita e você até macro apenas para que possamos praticar essa sintaxe um pouco mais. Então vamos inserir seu modelo e eu vou renomeá-lo. Eu vou fazer até e então vamos inserir uma macro na janela de código. Dentro, o procedimento sobre o exemplo que vamos usar é obter um e-mail do usuário. Então, o que queremos fazer aqui é exibir e caixa de entrada. Andi forçou o usuário a inserir seu endereço de e-mail. Poderíamos fazer isso se tivéssemos uma macro que estava sendo executada no contexto de um cenário único da empresa . Assim, apenas os membros de uma determinada empresa seriam autorizados a usar esta macro. E sabemos que todos na empresa têm um endereço de e-mail em cada endereço de e-mail termina com exatamente o mesmo nome de domínio, para que possamos começar digitando o nome de domínio como uma constante. Em seguida, é maior variável em que podemos pegar o e-mail da pessoa. Então agora podemos ir direto para o nosso “fazer até loop”. A sintaxe é devido até testes. Eu iria fechá-lo com loops e para um teste, podemos usar o telefone de cordas para testar se a string que está sendo inserida e a outra principal e vamos dizer que antecipamos um mínimo de dois caracteres antes lá em cima em strings. Está na classe de cordas. Vai ser BB oito cordas de força. E então nosso primeiro podemos escrever tudo que Starks de longa mão que eu meio que quero. E então temos a corda um que a corda dentro da qual estamos procurando. E, claro, aquele e-mail de aço. E, finalmente, temos um terno gritado. A string foi definida na íntegra. E isso é claro, domínio str. Assim, a função em string irá retornar um número indicando a posição atual da string que estamos certa bola Onda. Vamos esperar que o dedo tenha dois caracteres antes dessa corda. Uma decisão será três agora. Normalmente, sempre que você faz um Lou condicional, você sempre se certifica de que você não acaba com um loop infinito. Mas o paciente é praticamente o que queremos, porque o usuário tem a capacidade de sair do infinito fazer simplesmente fornecendo o tipo correto de e-mail para que você possa ir direto para exibir principal nossa caixa de diálogo para fora caixa de entrada . Estamos preenchendo o e-mail str com o que é o V B? Uma caixa de entrada, que está em interação que impediria suas ações porque a função de caixa de entrada não é o experimento sobre a mistura de promoção de vida. Veneza. Ter um título, Hum, e finalmente, vamos ter um valor padrão, que pode simplesmente ser o domínio str. Então isso conclui o nosso ciclo. E depois do loop, podemos ter certeza de que o email STL contém um endereço de e-mail. Então vamos terminar dizendo e então é testado. Então, enquanto eu não entrar sobre o endereço de quantidade, esta não é a minha tela e vai ser um cidadão. Coloque um endereço de e-mail, vem a caixa de mensagem. Então, apenas para reiterar isso, fazer tempo e fazer até algo como você frase seu teste. Então aqui, se eu decidisse mudar isso para fazer, enquanto eu simplesmente teria que mudar meu teste apenas para invertido. Então, em vez de dizer maior ou igual a três, eu poderia dizer fazer enquanto menos de três em quando testá-lo, devemos obter exatamente o mesmo resultado para que ele permaneça na tela até que você digite seu e-mail 33. 3.8. Criando arrays: uma matriz é um tipo especial de estrutura, que permite que você empatar vários itens relacionados em uma única variável para ver como levantar trabalho , vamos entrar em 03 bebê e declarações de controle e, em seguida, abrir foi, você sabe, Oito. Criando uma corrida e vamos atravessar o desenvolvedor e para o editor visual basic. E o que estamos fazendo este exemplo é criar uma macro, que representa o início de um aplicativo onde queremos validar o usuário com base nesse bloco no nome. Então vamos capturar o nome de login do usuário e, em seguida, compará-lo com uma série de possíveis. Então vamos começar por seu módulo. E vamos renomear isso e, em seguida, deixar janela inserir um procedimento que é legal e usuário verificar isso. Acho que ele é abençoado. É o Logan, essa corda. E digamos que quando escrevemos no ar, sabemos que existem cinco usuários que queremos poder realmente usar esse aplicativo . Então há Cinco Vale usar os nomes agora que poderíamos criar por Constança separada, mas um dos vale recebe nomes em cada um. Espere fst ou Estella desigual. É aqui que um aumento vem fazê-lo. Mas a sintaxe para definir uma variável de matriz é muito semelhante a definir em uma variável comum . As primeiras diferenças que você normalmente iniciar o nome dentro de A. Apenas para lembrar a si mesmo que é uma variável de matriz. Você ainda especifica o tipo de dados que deseja colocar dentro da variável. Então, obviamente, ainda estamos falando strings, então um SDO e, em seguida, mover uso válido para identificar esta variável em particular. A segunda diferença é que, em seguida, você especifica entre parênteses o escopo fora da variável. Isso quer dizer quantos valores você quer, a variável para ser capaz de segurar, e a melhor maneira de fazer isso é colocar os limites superior e inferior. Então, se eu quiser ter cinco valores na minha matriz, coisa biológica a dizer é 15 limite inferior um limite superior cinco. Então essas são as duas únicas diferenças. O primeiro é opcional. Os flancos de usar um A no início do nome, e o segundo é obrigatório, então entre parênteses você especifica os limites. Existem outras formas de especificar o limite, mas esta é normalmente a melhor prática. Mas os limites superior e inferior explicitamente, e você sabe exatamente onde você está quando ele vem para processar os valores na chuva e, em seguida, a terceira coisa não é única para levantar. É exatamente o que você faz. Para cada variável, você especifica o tipo de dados. E, claro, ainda estamos falando string porque os valores na matriz serão identificados como um índice numérico. Você pode olhar através dos valores na matriz, modo que a próxima coisa vai definir é uma variável de contador. E enquanto vivemos quando encontramos uma correspondência, usaremos uma variável booleana para indicar que validamos com sucesso o usuário. Então o anel a que estamos trabalhando aqui é realmente uma matriz constante, que não existe tal coisa como uma constante de matriz. Você pode usar homens const ir em frente e definir Honore com vários valores. Então, o que nós faríamos neste ponto é preencher o manualmente. Só para dizer que o item um é a primeira pessoa. item dois é o segundo registro no nome e assim por diante. Então, obviamente, esta é uma variável de dados. Então eu vou usar vamos s seu válido e, em seguida, entre parênteses, especificado o índice e, em seguida, nós apenas fazer isso para mais vezes. Nós preenchemos todos os livros Sipes dentro dele. Uma área cinzenta. O próximo passo é pegar sua reserva. Está amarrado STL olhando Vamos como amar igual cobrar um ambiente de contração. E, em seguida, entre parênteses, colocamos o elemento específico que estamos procurando, que é o nome do usuário. Estou colocando isso em maiúsculas, mas lembre-se que VB não é sensível a maiúsculas e minúsculas. Então agora nós pegamos seus anos um nome que queremos comparar com cada um deles. O que? Ok é que isso obviamente está usando você, Mary. E então eu sempre vou usar eu como o balcão. Então, antes que você poderia dizer, para eu é igual a 1 a 5 porque sabemos que há um limite, mas o melhor bit Quando é dois anos para funções especiais de matriz l ligado e você ligado. E, obviamente, o l ligado funcional calcular o valor mais baixo e a função ligada U o valor mais alto. Então, se estes fossem mudar, sua sintaxe iria simplesmente pegar os novos valores. Então eu não vou. L vinculado s t o válido. Você vinculado É um válido e, em seguida, dentro do loop irá realizar um teste e usará a variável I para pegar cada um desses valores. Então str válido e, em seguida, entre parênteses substituiu o I. Então isso significa que, como o loop executa o I será substituído ou um número entre os limites inferior e superior como o loop repete continuamente. Então, se str valid I é igual str log in então obviamente uma correspondência foi encontrada e se esse for o caso, nós mudamos bln ok para verdade E então não há nenhum ponto em avaliar os outros elementos para que possamos sair do loop usando a mesma saída fiscal completa . Em seguida, terminamos a nossa declaração if e, em seguida, terminamos o nosso para o próximo loop Repetir no nome do contador apenas para clareza para que saibamos qual loop está sendo encerrado depois de tudo, Lou Ben bln. Ok, bem, ou contém falso porque não encontramos uma correspondência Horrível contida. Verdadeiro porque encontramos uma correspondência para que agora possamos testar o valor de BLN. Ok, Andi, por enquanto só exibirá a mensagem apropriada usando a função caixa de mensagem ligada . Depois o ELS. Será uma mensagem semelhante? Todo esse controle para baixo em arrastar e, em seguida, fechar a nossa estrutura com fim. Se assim for, estou atualmente Levine é Grant Gamble. Então, quando eu corro, eu recebo minhas boas-vindas para o aplicativo. Se meu nome não estava em algum lugar que equilíbrio estranho, então eu tenho a alternativa. Você não está autorizado a usar este aplicativo. Então isso está usando o quê? Em que você sabe com antecedência Todas as pessoas precisam de forma esportiva. Haverá ocasiões em que você não sabe disso. E isso é o que eu acho que você está certo. Vamos ver como eles funcionam no próximo vídeo. 34. 3.9. Arraias dinâmicas: No último vídeo, analisamos como você pode criar uma matriz, que casos para o número desconhecido de valores. Às vezes, no entanto, você não tem certeza de como Maney valoriza sua chuva precisa atender. E nesse cenário, você usa o que é chamado de array dinâmico. Aquele que tamanho pode variar dependendo das circunstâncias. Vamos ver como o trabalho dinâmico e aumentar na pasta de treinamento em 03 BB A Control Statements. Vamos abrir 09 arrays dinâmicos e vamos imediatamente atravessar o visual do desenvolvedor, básico e em vez de módulo. E vamos apenas renomear isso e arrays dinâmicos. E o que faremos neste exemplo é criar um metro, que enviará o relatório por e-mail para um ou mais endereços de e-mail inseridos pelo usuário. Como não sabemos quantos e-mails esse usuário entrará, usaremos um array dinâmico para capturar todos os e-mails inseridos. Então vamos começar. Ao criar nossa macro, nós ativamos a janela de código em uso, inserir procedimento, e vamos simplesmente chamá-lo de relatórios de e-mail E. Então vamos começar criando todas as variáveis que precisarão começar com o relatório si. Então, primeiro de tudo, eu vou criar caminho str. Este será o local do relatório que será enviado por e-mail. O comando será usado para enviar e-mail. O relatório é pasta de trabalho ponto enviar email. Este comando específico pode ser usado em uma pasta de trabalho fechada. Então, por essa razão, eu vou escurecer relatórios WK B Como que livro? Próximo. Vamos precisar de uma variável para capturar cada um dos e-mails e inseridos pelo usuário e, em seguida, para armazenar vários e-mails vai precisar de uma matriz. Então este será um str e mails e, em seguida, para declarar uma matriz dinâmica, você simplesmente colocar parênteses abertas e fechadas após o nome da matriz sem nada entre eles. Então, em outras palavras, você não está especificando os limites da matriz, mas vamos especificar o tipo que, claro, é string. E finalmente, vou ter um contador para contar. O número de e-mails sobre isso vai nos ajudar quando chegamos a loop através do raio dinâmico e também para mudar a dimensão da taxa dinâmica à medida que o progride e, obviamente, em e-mails. Sua interjeição também estaria bem. E agora precisamos criar um loop do fazer que irá forçar o dedo do pé do usuário ou entrar em um e-mail ou clicar no botão cancelar e porque queremos exibir um diálogo pelo menos uma vez, terá o estilo de Do Loop, que coloca o teste no final após o loop, ao contrário de depois do fazer So. Isto vai parecer uma base. Faça várias linhas de código. Então, após o loop, colocamos o teste. Basicamente, estamos interessados em testar o e-mail STL. Sempre que o usuário clicar no botão cancelar, e-mail STL retornará força nula. Se o usuário inserir um e-mail que, obviamente str e-mail não estará em branco, ele conterá uma força para que nosso teste possa simplesmente ser assim. Enquanto este teste for verdadeiro, basicamente queremos exibir uma caixa de entrada e capturar os resultados da caixa de entrada dentro da nossa variável de e-mail str. Então, isso vai ser um vamos SDR feminino igual CD oito na interação que eles colocam bloqueios. Em seguida, precisamos de parênteses porque temos duas declarações na linha e nosso parâmetro obrigatório é prompt. E então vamos inserir um valor padrão. Vou usar uma empresa fictícia chamada Steady Smart. Então vamos dizer no Smart Kid Ok, feche colchetes depois que esta caixa de entrada foi exibida, str e-mail irá ou conter a string nula se eles clicarem na bomba de cancelamento ou ele irá conter qualquer e-mail que eles digitou. Então, agora podemos testar o valor fora str e-mail. Se eles clicarem. Cancelar. Obviamente só queremos terminar todo o processo para que possamos simplesmente dizer saídas, cara, cara, e lembre-se, esse é um dos benefícios de usar o loop do fazer. Tem uma opção de saída. Se o usuário impressionou o botão de cancelamento, então precisamos capturar o que quer que eles tenham inserido em nossa variável de matriz. Mas antes de fazermos isso, vamos adicionar um ao nosso contador. Então precisamos aumentar a capacidade da nossa matriz dinâmica em um slot. E aqui está a sintaxe para fazer isso. A palavra-chave reading obviamente se relaciona com a palavra-chave din inicial, e é usada com matrizes dinâmicas para alterar os limites para alterar o número de slots. Mas na matriz, a palavra-chave preservar também é necessária porque sem ela, cada vez que você resgatar seu array, todo o conteúdo será apagado, então preservar meios preservar o conteúdo existente e expandir a capacidade em seguida, para expandir a capacidade. Começamos com um limite baixo de um, e aumentamos para o limite superior conforme especificado pelo nosso contador. Assim, toda vez que o usuário adiciona um endereço de e-mail, o contador sobe um na capacidade desligada. Nosso array dinâmico também aumenta um. E, finalmente, precisamos adicionar o valor à matriz dinâmica. Então, aqui estamos simplesmente usando e-mails de GNL como o índice de nossa matriz dinâmica, e isso garantirá que estamos sempre direcionando o último elemento na matriz, o que foi criado como resultado da expansão do tamanho da matriz. Então, colocamos e-mail str no último slot da matriz de cada vez. Então isto é o que aconteceu dentro do nosso ciclo. E quando o usuário clica no botão cancelar, contestamos o valor dos e-mails de GNL. Se e-mails de LNG for zero, isso significa que o usuário cancelou imediatamente sem digitar nenhum endereço de e-mail, então podemos simplesmente dizer que você caiu em e-mails igual a zero. Então podemos exibir uma mensagem de erro. Caso contrário, podemos ir em frente e enviar o relatório. Se você estiver enviando um relatório por email, geralmente é melhor não usar uma pasta de trabalho do Excel habilitada para macro. Então o que eu vou fazer é criar rapidamente um novo arquivo fora do comum. Vou salvá-lo nesta mesma pasta e dar-lhe exatamente o mesmo nome deste arquivo. E, claro, tudo o que eles serão será diferente. A extensão do arquivo está no final? Então isso pode ser nossos relatórios, que significa que tudo o que precisamos fazer dentro do caminho str, que é a localização do relatório, é ter exatamente o mesmo caminho que o arquivo atual que podemos pegar usando o aplicativo pontos esta pasta de trabalho, mas com a extensão de arquivo Doc XLs sexo em vez de ponto x l s m. Assim, podemos deixar s lidar complicação igual para isso. Que livro? Não nome completo em que vai pegar tanto o caminho eo nome e, em seguida, podemos simplesmente envolver nosso comando substituir em torno dele. Então essa é Phoebe A, não as cordas não substituem. Esta é a expressão que estavam trabalhando dentro do ponto de corda fina Exe Dallas em no substituir Don't. Obrigado. Obrigado. E então abrimos a pasta de trabalho. Então, desta vez estamos usando conjuntos no nome final será: “Esse é o seu pulso”. E, em seguida, para realmente enviar o relatório por e-mail. Temos este método útil ou função chamada enviar e-mail em. Nós especificamos nossos destinatários, que é claro, serão todos capturados em str fêmeas. Este parâmetro pode ser uma string ou uma matriz de strings, e então vamos apenas colocar um assunto que encerra nossas declarações If em nós também poderíamos apenas exibir uma mensagem conclusiva para dizer que seu relatório foi enviado por e-mail. Então esse é o nosso código. Vamos apenas economizar, vamos colocá-lo à prova. Então, primeiro de permitir cancelar. E com certeza, temos operação cancelada usando nenhum e-mail enviado. Agora vamos tentar inserir alguns endereços de e-mail. Então eu inseri três endereços de e-mail. Não, vou cancelar. Portanto, eu tenho o Microsoft Outlook configurado é o cliente de email padrão. Esta mensagem parece que eu provavelmente poderia me livrar dele nas configurações do outlook, mas não vamos entrar nisso agora. Onda. Claro, se eu clicar em negar, geraria uma mensagem de erro e o programa falharia. E da mesma forma, se você não tiver um cliente de e-mail configurado também, você receberá uma mensagem de erro, então temos um tipo real de bare bones pedaço de código aqui não é de forma alguma, produção pronta, digamos, para o momento, eu vou apenas clicar em permitir e ele vai em frente e envia os e-mails e me dá a minha mensagem ok . Então, como eu disse, se você está fazendo algo como enviar um e-mail o único muito mais código do que isso em uma vez nós discutimos a manipulação de erros, bem, realmente voltar e revisitar isso em Torná-lo um um pouco mais robusto. Mas, por enquanto, basicamente, é assim que se trabalha com a corrida dinâmica. É assim que você os define, e então você tem essa instrução muito útil ou redefinindo-os e alterar a dimensão alterando o número de slots que a matriz realmente tem. 35. 3.10. Utilizando matrizes: neste vídeo, vamos ter um pouco mais de prática em trabalhar com os Rays. Vou dar uma olhada em uma técnica útil que gerou BB oito código dentro de uma planilha do Excel usando fórmulas comuns do Excel. Então, na sub-pasta 03 Debate Control Statements, vamos para o último arquivo utilizando um aumento. E quando você abrir isso, você verá que o que temos é uma série de nomes de país com a capital. O que vamos fazer neste exemplo é criar um questionário, que exibe a pergunta ao longo das linhas de qual é o capital fora da China e, em seguida permite que o usuário responda uma vez que o usuário tenha respondido todas as perguntas vai apenas dizer que você tem marcou X de um possível porquê. Então, vamos precisar para corresponder um raise um para segurar todos os países e um dedo segurar todas as capitais na técnica que eu quero mostrar é como podemos produzir o código que impõem um código para preencher essas duas variáveis de matriz usando fórmulas do Excel. Então a primeira coisa que vou fazer é colocar números. Estes serão os números de índice para nossas variáveis de matriz. E então aqui eu vou colocar uma fórmula para preencher a matriz para os países. E aqui vou colocar outra fórmula para gerar o código ou as capitais. Assim como com todas as fórmulas, nós digitamos igual. E digamos que vamos chamar nossa matriz de países str. Isto é uma força. Então, em uma fórmula excel tem que ir em países próximos a str. Em seguida, apenas o parêntese de abertura seguido pelo número. Então, para fazer isso, eu simplesmente fechei minha força e usei o operador de concatenação e porcentagem e, em seguida, clique em C dois. Então isso me dá o número dentro de parênteses. Agora feche meus parênteses. Então está de volta à corda. Essas são as roupas entre parênteses iguais e então eu preciso de citações. Já estou entre aspas. Então, como faço para especificar em uma fórmula excel que eu quero citações à vista? Citações em A resposta é basicamente você dobrar. Então, duas citações significam que eu quero ter uma citação. Quero ter aspas duplas dentro da minha força. E então, é claro que tenho que fechar aspas. Então, são três aspas duplas juntas. Então precisamos de outro e por cento e, em seguida, precisamos do nome do país, que é um dois. E então terminamos com as roupas entre aspas. Então isso é aspas abertas e aspas duplas e, em seguida, as aspas de fechamento. Então vamos pressionar Enter e esse é o padrão que Will terá. Então o nome da matriz, o índice, que é um, é igual a homens dentro de aspas duplas a força, então eu posso simplesmente copiar isso para baixo e então fazer praticamente a mesma coisa para os Capitals. Então eu estou apenas em uma cópia desta fórmula. Cole aqui, faça as alterações necessárias. Então isso agora se torna Capitals. Si dois é o mesmo. Esse é o nosso número, mas um 2 precisa se tornar B 2. Há uma capital desagradável esperando por Pequim como e, em seguida, apenas me chamou assim para baixo. Então esse é um exemplo de como você pode gerar BB, um código usando fórmulas do Excel. Então vamos agora entrar e agora Macron e eu vou chamar este modelo M Capital Quiz. E vamos chamar a macro em si. Além disso, Capital Quiz e, como sempre, começarão pelas variáveis Konar, começando sem a matriz variáveis. E para este exemplo, eu só vou colocar o primeiro 3 apenas para velocidade, então isso é um, 23 primavera, e então nós fazemos o mesmo para o Capitals. Em seguida, vamos precisar de uma variável para manter cada uma das respostas fornecidas pelo usuário. Também precisaremos do número inteiro ou longo interject para segurar as escolas e finalmente deixar o contador, que nos permitirá percorrer as matrizes. Então agora precisamos do código que irá preencher estes dois raça e como eu disse para velocidade e seguida, novamente para usar os primeiros 3 valores para que possamos voltar para os pés de trabalho, basta copiar o 1º 3 e então nós podemos fazer as mesmas quatro maiúsculas, e eu sou só vou pressionar a aba. Chave para Tab. Essas três pistas em tantos quiz simplesmente consistirão em quatro próximos loop. Então, para mim é igual. E como você provavelmente se lembra, quando Lupin através de uma matriz, é sempre melhor usar L ligado e você ligado. E, claro, não importa qual das duas variáveis eu uso neste contexto. Eu ainda vou obter os mesmos números gerados a partir 1234 Se eu fizer quaisquer alterações aqui em cima, então eu amarrado um novo valioso pegar esses novos números. Então agora queremos exibir a pergunta do questionário e capturar a resposta dentro da nossa variável str honza . Assim, os contáveis asseguram que exibimos cada um dos nomes dos países. No final da nossa pergunta, porque esta é uma pergunta. No final da nossa pergunta, Vamos ficar apenas tag sobre a questão e, em seguida, queremos verificar se a resposta capturada dentro str resposta é o mesmo que o slot correspondente dentro str Capitals como especificado por I E nesta linha, é claro, underst faltando as roupas entre parênteses. Basta colocar isso. Então, para testar a resposta, nós, é claro, usamos em uma declaração que tivemos um para a escola e claro que não precisaremos de outro se eles deram uma resposta incorreta, nós simplesmente não fazemos nada. Depois de todo o loop ter terminado, podemos então exibir uma caixa de mensagem informando o quão bem eles fizeram. Então você marcou e, em seguida, nós tag na escola de GNL fora de um possível e, em seguida, para calcular o número total de perguntas. Acabei de tomar o valor de eu, mas lembre-se quando você chegar ao final de um loop de NY, eu estava na verdade mais um no limite superior. Então, por essa razão, se você vai usar eu porque o loop terminou, você vai precisar subtrair um. Então agora podemos testar o nosso teste. E eu vou apenas avisá-lo que se você está fazendo esse tipo de coisa, essas comparações são um k sensível. Então, se o usuário digitar a resposta correta, mas no caso errado, ele obteria uma adicionada à escola. Uma maneira tão simples de corrigir isso é usar l maiúsculas ou minúsculas minúsculas ou maiúsculas para converter ambas as coisas que estão sendo comparadas com exatamente o mesmo caso. Vou usar o caso da TV Adolf Springs L. E há um novo caso que funcionaria voando também em parênteses estreitas. E então eu vou colocar exatamente a mesma coisa do outro lado. Dessa forma, ambos os itens sendo comparados e exatamente no mesmo caso. Então vamos testar nosso código. E aqui, por alguma razão, acabei de entrar no singular em vez do plural. Então isso é apenas redefinir na correta que muito legal e tente novamente. Beijing minúsculas e, uh, o Case Deli e tão baixo caso Washington D C entrar. Ele tem três de um possível três, então você pode ver que o I menos um nos deu o número correto. Então, temos um teste muito rudimentar. Mas a principal coisa que eu queria mostrar neste vídeo é como é fácil gerar um código BB usando fórmulas do Excel muito simples. 36. 4.1. Procedimentos sub e variáveis de nível de módulo: nesta seção, vamos discutir o uso de código modular à medida que você escreve meu cresce, e à medida que você Macron se torna mais complexo, você vai descobrir que eles têm cada vez mais linhas de código. E em vez de ter um único sub-procedimento com centenas ou mesmo milhares de linhas de código, é muito melhor subdividir seu código em módulos separados. E existem dois tipos de módulos, alguns procedimentos e funções, que serão discutidos nesta seção. Vamos começar falando sobre sub-procedimentos. Então, em nossa pasta de treinamento, vamos para 04 procedimentos e funções e eu não sou 01 Alguns procedimentos, variáveis de nível de módulo. Então vamos para o editor visual basic e você verá que temos um único modelo, que contém um dos macron's que nós estradas anteriormente. Agora, se esta macro ou mais complexa, o que normalmente fazemos é rebocar. Tenha cada uma dessas seções como um subprocedimento separado. Um natural estará fazendo neste vídeo apenas contra eles. Prática sobre como trabalhar com sub-procedimentos separados, Então a primeira coisa irá abordar é a questão do escopo variável. Isso basicamente significa de onde, dentro do seu código de variáveis, o conteúdo será acessado no momento. Tudo sobre variáveis que contidas neste sub precedeu esta chamada macro copiar dados. Então, seu escopo é atualmente local. Por outras palavras, local para este subprocedimento específico. Se houver outros procedimentos submarinos dentro deste mortal, eles não teriam acesso a nenhuma dessas variáveis. Então a primeira coisa que queremos fazer é pegar todas essas variáveis e mudar seu escopo para o nível do modelo. Isso é muito fácil de fazer. É simplesmente uma questão de posição. Se eles estão posicionados dentro de um procedimento sub, seu local para que sub procedimento, se sua posição fora, buracos up procedimentos que irá torná-los nível de módulo para que eu possa simplesmente cortá-los e, em seguida, prová-los aqui simplesmente por movimento em. O meio desta posição significa que se eu tiver vários sub procedimentos dentro deste mortal, todos eles terão acesso exatamente às mesmas variáveis. Embora a posição seja o único requisito essencial ou declarar uma variável de nível de módulo, também é melhor prática usar a palavra-chave private em oposição a eles. Eles são perfeitamente legais. Ele funciona bem, mas usando a palavra-chave private, você está enfatizando que essas variáveis têm um escopo que é amplo módulo. Então eu estou indo apenas para usar encontrar substituir por destacar as variáveis controle idade substituir e eu estou substituindo o trabalho chave com a chave Seria privado em substituir tudo dentro do texto selecionado. Nós também podemos usar a palavra-chave privada ao declarar Constance, naturalmente, a palavra contagem privada substituir Const Então ele é usado em adição, Então nós simplesmente teria custo privado em vez de simplesmente custar outra convenção. Vale a pena seguir é indicar o escopo da variável dentro do seu nome e convenção. E normalmente o que você faria é prosseguir todas as variáveis de nível de módulo com a letra M assim M w K b fonte, por exemplo. Então eu vou usar encontrar substituto para conseguir isso. Vamos começar por ter W k substituído por m wk. Vou me certificar de ligar o caso para isso. Eu não acho que isso vai estragar nada tão substituível que cuide de pastas de trabalho e planilhas. Então temos o nosso Engy. Então nossa lesão se torna m g. Substituir tudo e finalmente temos cordas neste momento. É muito importante que tenhamos o caso de jogo ligado porque aqueles que você tem palavras como cordas. Aqui de novo, temos a string de nome do parâmetro, que não queremos mudar. Aqui de novo, temos a string de nome do parâmetro, Então caso Match vai cuidar de que eu substituir todos. Então agora todas as nossas variáveis que têm os níveis de modelo, ir em nosso prefixo com a letra M. E neste ponto, definitivamente vale a pena testar para ver se nosso código ainda funciona. Então, sim, faz. Então não quebramos nada. Vamos fechar esse ... Que livro? Vamos agora recorrer a alguns procedimentos. Então vamos dizer que este sub-procedimento atual, a macro em si será o principal sub procedimento a partir do qual vai chamar todos os outros. Então eu só vou mudar o nome para Maine em seguida, o primeiro, algum procedimento que vai subir modular será esta seção. Alguém cortou isto e andou. É um procedimento sub separado, então eu posso obviamente digitá-lo, mas eu só vou usar o procedimento de inserção eo peso para distinguir entre uma macro. Algum procedimento em um procedimento sub que é chamado de dentro da macro é o escopo. Então ele se torna privado, e eu vou chamar este aqui, usar a entrada, e, em seguida, colar o código da minha cópia tem no lugar este código em um sub procedimento separado é tão importante que eu chamá-lo do sub-procedimento principal. Então vamos começar com o nome aqui. Eu posso inserir um padrão legal se eu simplesmente colar o nome que é suficiente para fazer com que o procedimento sub para executar a clareza. É útil colocar na chamada de palavra-chave apenas para enfatizar que você está chamando um sub-procedimento separado nessa linha. Então vamos fazer o mesmo com a segunda seção Open source pasta de trabalho. Então, novamente, vou cortar código louco novo sub procedimento privado. Chame esta pontuação aberta bkb ao colar no código de cópia. Então precisamos chamar este novo procedimento sub e colar. Então vamos ter apenas mais duas seções, então tudo isso pode ser nosso processamento. Vamos chamar esse processo de dados novamente. Temos um processo de procedimento privado, estados, uh, uh, nós colocamos em tudo que o código foi grampeado. Isso em Teoh torná-lo um pouco mais legível. Faça o mesmo aqui na verdade, aqui isso é legal. E então, finalmente, vamos ter finalização em Vamos finalização legal para que completa assim organização modelo em. Embora seja um pouco exagerado porque obviamente este é um pedaço de código bastante curto. Esperemos que apenas lhe dê um gostinho de como você estrutura uma aplicação típica. Então, como você tem mais funcionalidade, você tem basicamente blocos separados de código sub procedimentos separados para cada seção dessa funcionalidade. Outra coisa que você pode achar útil é apenas mudar o modo para a visualização do procedimento. Isso basicamente significa que você apenas trabalhar em um procedimento de cada vez e no topo aqui a partir do procedimento descartado, você pode alternar entre diferentes procedimentos. Vou voltar para, uh, uh, tudo mais sua vista. E, claro, eu deveria testar se ainda funciona. Então esta é agora a única macro que temos dentro deste modelo. Só para provar que se voltarmos a nos destacar no Mac Rose, verá que só o Main está listado todos os privados. Alguns procedimentos são tratados linhas traseiras. Então vamos executar principal desta vez, e ainda obtemos os mesmos resultados 37. 4.2. Variáveis estáticas: Neste vídeo, analisamos variáveis que têm um escopo estático,variáveis estáticas, variáveis estáticas, o equivalente a variáveis de sessão encontradas no desenvolvimento Web para ver como funcionam na pasta 04 Proceduces and Functions Sub. Está aberto zero para variáveis estáticas. E então vamos para o editor visual basic e para ilustrar o uso de variáveis estáticas , vai escrever uma macro, que pediu ao usuário seu nome. Mas se o usuário parar o macron e executá-lo novamente, não queremos pedir o nome do usuário mais uma vez. Queremos recuperar o nome que foi inserido na primeira vez, e este é um exemplo clássico de onde você usaria uma variável estática. Então vamos inserir módulo. Eu só vou renomeá-lo M Variáveis estáticas e, em seguida, vamos inserir uma macro. E então vamos definir um par de variáveis. Primeiro de tudo, eu quero manter o uso seu nome e em segundo lugar, um para manter o controle de quantas vezes o fabricante foi executado. Quando o programa é executado. Se o nome str estiver em branco, pediremos ao usuário para inserir seu nome. Então adicionaremos 12 horas de execução. Estou de acordo. O usuário e eu esquecemos de colocar o prompt para o último. Então ia ficar sem convenção sobre fixo que neste tempo vai simplesmente dizer olá e em seguida, em Canton comeu o nome do usuário. Então, como está, cada vez que executar este nome STL macro será em branco. Eu teria que pedir o nome do usuário. Vamos testar isso. Vamos colocar alguns suportes aqui. Mas é claro, se eu rodar de novo, é para ter tudo o que eu entrei antes, e eu estou de volta com o micro tendo sido executado uma única vez. Então, para converter essas variáveis em variáveis estáticas, você tem duas opções. O primeiro é substituir o pássaro chave dim com as palavras-chave estáticas, e o segundo é colocar a palavra-chave static na frente da definição de algum procedimento. Isso fará um monte de variáveis dentro do sub-procedimento estático. Então aqui eu vou apenas usar estática duas vezes. Então, ambas as variáveis estáticas agora. Então eu vou executar o macron do Excel. Introduzi o meu nome uma vez. Macron foi executado uma única vez. E então, quando eu rodar de novo. Ele se lembra do meu nome e também lembra quantas vezes a macro está sendo executada. Então, toda vez que eu executá-lo, essa figura vai passar por um que meu nome vai ficar dentro da str estática chamada variável. Então, como você pode ver, é muito simples implementar essa técnica e apenas lembrá-lo das duas maneiras de fazê-lo . Só vou desfazer os dois e um lugar para manter o trabalho estático na frente da definição do subprocedimento . Então começamos do zero mais uma vez meu no meu nome. E, em seguida, cada vez que eu executar a macro, ele se lembra do meu nome e isso é 12 O número de vezes que a macro está sendo executado, e é isso. Então foi assim que variáveis estáticas foram usadas em V B A. 38. 4.3. Parâmetros de passagem: nós já vimos como podemos tornar nosso código mais modular por ter uma macro, que chama suporte a isso alguns procedimentos. Uma forma de tornar os sub procedimentos mais flexíveis é definir parâmetros para eles. Isso significa que cada vez que você chamar isso de algum procedimento, você pode fazer algo um pouco diferente. E quanto mais parâmetros você define, mais flexível o subprocedimento se torna. Vejamos como isso funciona na pasta 04 Proceduces and Functions que agora está indo para 03 parâmetros de passagem e aqui irá definir a estrutura clássica pela qual temos uma macro principal que causou uma série de sub procedimentos. Então vamos chamar esse módulo I m passando parâmetros, e então isso é inserir na macro principal. E agora vamos criar três subordinados em sub-procedimentos privados. Então, a partir da nossa macro, agora precisamos esfriar nossos três procedimentos sub. E embora a chamada de palavra-chave seja opcional, é útil colocá-la em cada vez, de modo que cada uma dessas seções geralmente tem muitas linhas de código. Mas digamos que no final de cada seção temos uma confirmação verbal. Use um aplicativo, não fale assim no final de cada um desses cercos ceia vai querer chamar o procedimento de confirmação verbal , Então vamos agora definir isso novamente. É privado. O que podemos agora fazer é definir uma variável de parâmetro, que determinará a mensagem que é realmente falada. Isso é muito semelhante ao uso na instrução não, mas seu X lugar entre parênteses que seguem o nome dos procedimentos sub. Obviamente, será uma string porque será um pedaço de texto que é lido por aplicativo, não por fala. Então vamos para a escola melhor sua mensagem como uma corda. Depois de definir um parâmetro, toda vez que você chamar isso de algum procedimento, você precisa fornecer um parâmetro fora da hora definida com a chamada para o procedimento. Então aqui eu posso dizer confirmação verbal legal. Mas então eu também tenho que especificar a mensagem str e você vai notar que a inteligência me lembra que tipo de dados precisa ser fornecido para este parâmetro. Então eu só vou dizer inicialização completa, e então eu vou apenas, uh, copiar isso. Então temos um procedimento lateral que agora está sendo passado uma mensagem diferente cada vez que é chamado. Então agora dentro da nossa confirmação verbal, podemos usar. Mensagem Str Então, quando estávamos em nossa macro, cada um dos procedimentos sub que é chamado, por sua vez chamar combinação verbal com uma mensagem diferente cada vez. Inicialização Processamento completo, finalização completa concluída. Uma característica muito útil dos parâmetros é que eles podem ser opcionais quando você define seus parâmetros. Você pode definir parâmetros opcionais simplesmente usando a palavra-chave opcional. No entanto, todos os parâmetros opcionais devem seguir os parâmetros obrigatórios, então str mensagem Queremos sempre estar lá. Não é opcional, por isso tem de vir primeiro. Mas então podemos ter um segundo parâmetro opcional em. O que eu vou usar neste exemplo é dizer, Você gostaria de ouvir a mensagem novamente? Então esta será uma repetição booleana e BLN como Julian, e quando você estiver especificando parâmetros opcionais, você também pode especificar um valor padrão. Assim, quando a chamada é feita para o procedimento sub, se nenhum valor fornecido para esse parâmetro, o valor padrão será usado. E para fazer isso, você simplesmente diz, é igual porque eu defini em seus 1.000.000.000 verdadeiro e falso para exibido automaticamente . Então eu vou dizer que false é o padrão. Então o que eu posso fazer agora é ter uma estrutura de loop do fazer que oferece ao usuário a chance de ouvir a mensagem novamente. É uma luta, mas o fazer como a primeira parte da declaração Isso significa que tudo dentro do loop ocorrerá pelo menos uma vez e, em seguida, o teste pode seguir o loop em vez de seguir. Para fazer isso para fazer o teste booleano, vamos ter uma caixa de mensagem com botões sim, no que eu sempre faço quando eu estou usando essa estrutura é definir uma variável BB. Tão fraca, querida. , Senhor, como resultados da caixa de mensagens Bebe, a menos que inicialize para conter o B não. E, em seguida, em nosso teste que segue o loop de palavra-chave, podemos dizer, enquanto Bebe resposta é igual ao bebê Sim. E, claro, neste momento, nunca pode ser igual a Sim. Mas o que podemos dizer agora é que, se a nossa variável de repetição BLN for verdadeira, exibirá uma caixa de mensagem com sim e sem bombas quando você estiver testando em um 1.000.000.000, bem como dizer, se meus bilhões neste caso 1.000.000.000 repete é igual a verdade, você pode simplesmente dizer se o meu 1.000.000.000 assim, neste caso, se bln repetir e ele avalia exatamente os mesmos resultados. E o que queremos fazer aqui é exibir uma caixa de mensagem e, em seguida, capturar o resultado dentro resposta VB. Deixe-me ser Resposta igual v b uma caixa de mensagem de interação ponto com um prompt off. Gostaria de ouvir esta mensagem novamente? Então agora nós demos ao usuário um mecanismo para mudar a resposta vb de VD? Não para ser. Sim. Então, se eles clicarem no fundo sim, a resposta conterá bebê Sim, E neste ponto, o loop se repetirá no aplicativo, não a fala ocorrerá mais uma vez. Então, já que em nossas três chamadas de função estamos usando apenas o argumento obrigatório, não estamos fornecendo o argumento opcional. O padrão vai chutar em 1.000.000.000 é igual a false. Assim, esta linha sempre provou ser falsa e a caixa de mensagem não será exibida. Então vamos apenas testar que a conclusão do processamento de inicialização completa finalização concluída. E agora vamos tentar adicionar esse segundo parâmetro opcional. Então eu vou fazer isso na inicialização. Legal. E estou dizendo que é verdade. Então eles agora terão a opção de ouvir a inicialização ser concluída uma segunda vez. Inicialização completa Onda. Claro que diz, Ok, finalização completa. Porque o que eu esqueci de fazer foi definir o parâmetro importante. Só tenho um aviso aqui. Eu não tenho o parâmetro buttons para especificar VBS No. Então eu não forneci o mecanismo ou captura VBS. Então, para mudar isso, eu posso colocar uma continuação vírgula. Talvez na próxima linha. Botões usados à mão. A Bebe. Sim. Não. Então nós temos agora um mecanismo para clicar no botão sim que nos dará BBS dentro resposta BB . Então vamos tentar de novo. Inicialização concluída. Sim, gostaria de ouvir a mensagem novamente. Inicialização concluída. Então, ele só vai continuar me perguntando que até que, eventualmente, na verdade, em nenhum processamento completa invenção final completa quando ele vai para chamar o próximo a. Então essa é uma olhada em como você usa parâmetros neste mecanismo de uso de parâmetros opcionais. Apenas fornece um mecanismo adicional para dar a você a quantidade máxima de flexibilidade quando você está chamando o sub procedimento 39. 4.4. Funções de Creatig: neste vídeo, vamos dar uma primeira olhada nas funções. Como alguns procedimentos, as funções podem ser usadas para tornar seu código mais modular, mas elas oferecem uma vantagem distinta. Uma função pode retornar um valor. Vamos entrar em 04 procedimentos e funções e, em seguida, zero para novamente criado e chamar funções. Quando olharmos no editor visual basic, você verá que temos algum código, que seria escrito em um vídeo anterior. O que vamos fazer aqui é tornar o casaco um pouco mais robusto mentalidade em uma função. Como o código está, pedimos ao usuário que forneça os critérios que ele deseja usar para criar nosso relatório. Mas, em seguida, o código assume que há uma correspondência na pasta de trabalho, que tem o mesmo nome que os critérios inseridos pelo usuário. E então procuramos na pasta de vendas um arquivo com esse nome. Então, claro, o que isso significa é que quando executamos o código, se eles usam um tipo o nome de um intervalo, mas que nós não temos uma pasta de trabalho, então ele falha porque ele está tentando abrir um pasta de trabalho existente. Então esta é a linha que não pode ser executada porque basicamente, MSD, nosso caminho contém uma string que não existe na pasta especificada. Vamos clicar em resets para sair do modo de freio em O que precisamos que nossa função faça é antes de tentar abrir a pasta de trabalho. Queremos que a função verifique se a pasta de trabalho existe, então as funções são definidas exatamente da mesma maneira. Sub procedimentos. Vou colocar no final aqui. Desta vez precisamos do tempo para ser função, e novamente ele vai ser privado, e isso é chamado um arquivo de função existe nesta ocasião. Não precisaremos definir nenhum parâmetro se os definirmos. Eles vão dentro dos parênteses, como é o caso de alguns procedimentos. Mas o que precisamos definir é o valor de retorno, o tipo de dados que a disfunção retornará quando chamada. E fazemos isso exatamente da mesma maneira que definimos o tipo de variável que usamos para manter, o que, como e, em seguida, especificar o tempo de dados. Então eu vou fazer este 1.000.000.000 para que esta função em particular só pode retornar verdadeiro ou falso. Agora vamos mover o código que realmente constrói o passado para o arquivo que estamos tentando abrir em nossa função. E aqui está o código. Pouco antes de abrir a pasta de trabalho, nós compusemos um caminho para essa pasta de trabalho, então eu vou apenas arrastar isso para a nossa função. Então o que isso, se declaração faz é que leva os critérios inseridos pelo usuário dentro mst nossos critérios. E, em seguida, ele usa isso para criar um caminho de arquivo para uma pasta de trabalho que ele assume que será nas vendas mais antigas. Então, o que agora precisamos fazer é depois da declaração de, precisamos testar se esse arquivo realmente existe ou não. E para fazer isso podemos usar um V ser uma função chamada de i o como no diretório. Então nós simplesmente dizer, se v b um sistema de arquivos stop não lidar. Sim, e então especificamos o caminho que estamos verificando que causa mst nosso caminho. Se este caminho não existe, a função de ir irá retornar a string nula para que possamos simplesmente dizer igual a V B a Constance vb nenhuma string então. E o que não queremos fazer é dizer que nossa função produz falso porque é um 1.000.000.000 e para fazer isso você simplesmente repetir o nome da função. Então dizemos que o arquivo existe é igual a falso. Naturalmente, podemos então dizer que mais arquivar isto é igual a verdadeiro, modo que completa a definição da nossa função. Assim, os elementos-chave são que especificamos o tempo de retorno, o tipo de dados que a função irá produzir e, em seguida, para realmente retornar um valor. Usamos o nome da função e especificamos o valor que queríamos retornar porque é 1.000.000.000. Ele retornará falso ou verdadeiro, dependendo do que encontramos o arquivo que estamos procurando. Então, de volta em nossa função principal, agora podemos chamar arquivo existe. Então esses três procedimentos sub só deve ser executado se o arquivo existe para que possamos colocá-los dentro de uma instrução if. Então, diríamos que é arquivamentos isso e podemos dizer que é igual a verdade, então quem? Podemos simplesmente dizer se um arquivo existe nele avalia exatamente os mesmos resultados. Então o arquivo existe, então ele está localizado tudo isso mais. Nós realmente precisamos exibir uma mensagem de erro e parar a macro, então nossa função legal é aninhada ordenadamente dentro. Uma instrução if quando essa chamada de função ocorre. Todo esse código será executado. Mas a coisa chave é que no final, arquivo existe irá retornar falso ou verdadeiro. E, em seguida, ele vai ser avaliado nesta declaração se ele avalia como verdadeiro, estes três sub procedimentos será chamado se ele avalia como falso, em seguida, as mensagens de erro exibidas em vez. Então isso é apenas salvar nosso código e, em seguida, testado. Então, se eu tipo de conta de string que eu sei que não existe quando eu clicar em OK, você verá nossa mensagem de erro chutes no trabalho necessário, mas não encontrado não pode continuar. 40. 4.5. Criando funções definidas pelo usuário: No último vídeo, vimos como você poderia criar uma função e, em seguida, chamá-la de uma macro. No entanto, as funções também podem ser usadas em planilhas do Excel. Isso é o que vamos cobrir neste vídeo na pasta 04. Vamos agora entrar em 05 Criando e função definida pelo usuário. Se você é um usuário experiente do Excel, você provavelmente está familiarizado com a função de pesquisa B que eu não vou fazer neste vídeo é criar nossa própria variação da função de pesquisa V, que tem um recurso pro rata. Neste exemplo. O olhar para cima está sendo usado para calcular o bônus anual pago aos vendedores, e se pegarmos a primeira pessoa Alexander Williams, você verá que ele tem direito a um pagamento de bônus de 1,25%. Ele cai nesta faixa entre um quarto de 1.000.000 e meio de 1.000.000, mas está muito mais perto da metade de 1.000.000. Então, se um sistema pro rata estivesse em vigor em vez de obter 1,25 porque ele ficou aquém da metade de um milhão exigido por 2,5% ele estaria recebendo um valor pro rata. Então, porque suas vendas perto do limite superior da banda em que ele cai, então suas taxas de bônus também aumentarão. Então, em nosso sistema pro rata, você recebe um bônus de cerca de 2,4%. Então isso é meio visual básico. E vamos começar meu módulo incessante. Vou chamá-lo M Usuário definido a partir de. E agora precisamos inserir uma função pública. Eu chamarei de ser, procure pro rata. Vamos começar definindo nossas variáveis. E, ao mesmo tempo, descreverei a técnica que vamos usar para chegar à resposta. Nosso primeiro passo será identificar os limites superiores e inferiores que se aplicam a cada pessoa, disse Olhe para as vendas pessoa, e então queremos descobrir em que banda eles caem. Assim, a primeira pessoa, como você pode ver Onley olhar para cima coluna, cai na banda entre um quarto de 1.000.000 e meio de 1.000.000. E, em seguida, na coluna Return, a coluna que contém a resposta. Ele cai no suporte de 1,25 a 2,5% e, claro, para esta função, ambos os valores de entrada nos valores de saída são numéricos. Então, portanto, vai usar o tipo de dados duplo para todas essas variáveis. Em seguida, vamos calcular o intervalo de procura, e para fazer isso irá simplesmente subtrair os limites inferiores do limite superior. E faremos isso para a coluna de pesquisa. Mas a primeira coluna. Vou procurar a tabela na coluna de retorno neste caso, a segunda coluna da nossa tabela de pesquisa. Esses dois números nos dirão as bandas de entrada e saída dentro das quais precisamos calcular o valor pro rata final. O que agora precisamos fazer é calcular onde dentro dessas bandas a figura realmente cai . O primeiro passo para fazer isso é calcular a diferença entre o número de vendas que estamos olhando para cima nos limites inferiores. Então, neste caso, haverá uma grande diferença porque este número de vendas pessoa está perto do limite superior . Então vamos chamar este DB. Eu olhar para cima, def. Depois, uma vez que tenhamos estes números em vigor, podemos elaborar um factor para as nossas pro concessões, e para isso terá a diferença entre o valor de procura no limite inferior. Um homem definiu isso pelo alcance de busca. Então, se o número de vendas da pessoa cair estrondo no meio, nós acabaríamos sem 0,5. Neste exemplo, esse valor de vendas de pessoa é muito próximo do limite superior. Então nós acabamos com uma figura de 0,9374 e finalmente vai precisar de uma variável de intervalo para que possamos percorrer o intervalo especificado pelo usuário. Não vamos voltar a nossa atenção para o outro tipo de variáveis vai fazer as variáveis de parâmetro . Então, comparamos nosso olhar V com o construído em V. Olhe para cima o que temos aqui. Eu posso apenas clicar no botão de função interna para trazer a função com ele. Você verá que temos um parâmetro chamado valor de pesquisa. Depois temos a mesa do Ray e depois temos a coluna. Da próxima vez precisaremos dos três. Não precisaremos do parâmetro opcional final, mas o que faremos é usar exatamente a mesma terminologia que o Excel usa. E então, finalmente, precisamos especificar o tipo de dados que estão sendo retornados, que neste caso vai ser uma dupla excelência, inveja construída. Procurar pode, é claro, retornar valores de texto. Mas para a nossa função, texto não faz sentido. O ponto de pro rata é calcular um valor de saída numérico, então nossa função só precisa pensar em retornar um duplo. Então nossa primeira tarefa é localizar quais jogos banidos para superar o valor. Então, o uso vai especificar a tabela a tabela de pesquisa. Fazendo uma das três coisas que eles podem arrastar através de apenas os números que eles poderiam beber em toda a mesa, incluindo o título. Ou eles podem fazer o que a maioria das pessoas faz e arrastar pelos cabeçalhos das colunas. Então a estratégia que vamos tomar é começar no canto superior esquerdo do intervalo especificado. E antes de prosseguirmos, só precisaremos calcular se estamos em uma célula que contenha um número. E se não estivermos enfraquecidos, então mova uma célula para baixo, que nos levará à primeira célula numérica dentro do alcance. Então, quando definimos orangey olhar para cima, precisamos olhar dentro do nosso parâmetro de matriz tabela em que foi definido como organizado. Então, desde que eu pressionei pontos, a inteligência me dá todos os membros que se aplicam ao objeto de alcance no que estamos interessados são as células dentro do alcance. E para chegar ao canto superior esquerdo, dizemos rolando ao lado uma coluna, índice um. Então esse é o nosso ponto de partida. Em seguida, podemos usar uma linha se declaração para dizer, se eles vendem não continha um número. Vamos descer um “eu “para que nos leve para a primeira célula numérica. E então queremos continuar movendo-se para baixo até chegarmos a uma célula, que contém um valor. É maior do que o olhar para cima. Os valores neste caso vão parar na metade de um 1.000.000. Ou se essa pessoa tivesse vendido um movimento de 1.000.000 nós seríamos tirados da borda da mesa. Então você também tem que dizer, Oh, chegamos a uma cela em branco. Então, qualquer um desses dois, ou viemos para agressão. Ele contém um número maior do que o valor de pesquisa, ou chegamos a uma célula em branco. Então eu vou usar um loop fazer while para isso, e nós simplesmente queremos mover para baixo novamente. Então, depois que este código é executado, nós vamos estar em uma alma dentro da tabela na primeira coluna da tabela. Se os valores de vendas dos usuários excederem, o valor máximo será nessa sala em branco. Então vamos lidar com a linha em branco primeiro, porque essa é a mais simples. Se eles estão na estrada em branco, eles simplesmente obter a taxa mais alta. Então eu basicamente preciso usar a propriedade offset para mover uma célula para cima e escrever uma célula . Então esse é o valor que a função retornará tal retorno de valor. Usamos o nome da nossa função, e definimos que igual ao valor errante turno. E, claro, vamos nos encontrar e então um fim. Se assim for, no cenário mais que estamos em uma dessas células em foram então interessados em preencher nossas quatro variáveis para calcular os limites superior e inferior de ambos a coluna Procurar e retornar Colin. Então eu vou apenas copiar esta seção. Ondas modifica o código. Então, primeiro nós os conectamos e mudamos todos os “vamos “de Dimmesdale. Vamos lá. Nós apenas especificamos o que cada um deles vai ser. Assim, o olhar superior será simplesmente laranja olhar upto valor, e então cada um dos outros vai simplesmente ficar compensado. Então este precisamos subir um menos 10 e, em seguida, chegar à coluna de retorno. Então, se a primeira pessoa esta for a nossa RMG, olhe para cima. Então, para chegar aos limites de retorno superiores, nós simplesmente precisamos ir para a direita um e, em seguida, para o menor nós levantamos um e escrever um, Então este será 01 neste será menos 11 Em seguida, calculamos nossos intervalos e isso é simplesmente o diferença entre os limites superior e inferior. Por outro lado, a diferença será necessária é a diferença entre o valor de procura no limite inferior , e isso nos dirá o que o pro rata precisará ser. Então aqui pudemos ver que esta pessoa está muito perto do limite superior. Então pegamos sua figura e subtraímos o limite inferior dela. Então aqui estamos usando o olhar para cima, valorizado especificado pelo usuário em nós subtraindo de bl inferior olhar para cima. Assim que tivermos todos esses cálculos no lugar, estamos em casa e secos. Podemos calcular a figura pro rata e, em seguida, a partir disso, podemos calcular o valor final retornado pela função. Você calculou o pro rata? Nós simplesmente precisamos dividir o olhar para cima def pelo alcance que ele faz parte fora. E, finalmente, para entrar em função para retornar um valor. Nós usamos o nome da função como fizemos aqui na parte positiva da declaração o que vai precisar fazer? É festival para multiplicar D B l faixa de retorno, buyout figura programa, e, em seguida, adicionar esse valor para o limite inferior da nossa seção de retorno. Então, para esta primeira pessoa que você se lembra, ele cai muito perto do limite superior de seu suporte. Então ele tinha uma alta d bl pro rata de não 0.9 algo sobre. O que fazemos então é multiplicar essa pro rata pela diferença entre esses dois que nos dá aos programas um fator que então adicionamos aos seus limites inferiores. Então, em vez de apenas entrar no limite inferior, que ser olhar para cima, dá-lhe que ele recebe o limite inferior maior mais o pro grant ou montante dentro da banda em que ele cai. Então vamos salvar e testar nosso código e testar nosso código. Nós podemos simplesmente excluir o olhar original para cima e ele diz, Eu corro para que ele está dentro da função, e, em seguida, suas funções, aqueles que você define estará sob uma categoria especial usuário ouro definido. E aí está. Você procura o programa. O que significa definir a função, Todos os parâmetros que definimos. É lâmina exatamente da mesma maneira que para funções embutidas. Então eu olho para o valor será matriz muito tabela de lá vai usar os métodos de coluna. Estou bebendo nas duas colunas e puxa o índice da coluna. Chama-se ele também. América é assim sua taxa de bônus em vez de Bean 1.25 teria feijão com você. Olhe para cima agora está mais perto do limite superior em seus 2.5. Eu só cliquei duas vezes para copiar isso para todos, e nós poderíamos fazer um teste final se eu colocar um milhão na frente da figura dele. Ele agora tem os limites superiores de 7,5, então não vamos fazer isso. Isso é um exemplo de onde você pode usar uma função definida pelo usuário onde você deseja calcular um valor dentro do corpo da planilha em. Não há uma função integrada do Excel que faça exatamente o que você precisa