Loops Visual Basic, if, else e declarações e intervalos ELSEIF criação de Visual Basic 6 para o Excel 2007 e Excel 2010


Olá e bem vindos ao meu segundo hub no Visual Basic ou Visual Basic for Applications. Hoje, vamos aprender a fazer três coisas muito importantes que você vai encontrar essencial ao escrever código em VB:

  • Definir intervalos de células
  • Criação de loop com PARA e NEXT
  • Trabalhando com IF declarações com E e E, EM SEGUIDA, bem como trabalhar com MAIS e ELSEIF

Intervalos para definir um grupo de células que, quando usado com um laço irá permitir que você faça algo para cada célula do intervalo. No exemplo de hoje, eu preencher cada célula no intervalo com uma cor de base no seu valor.




PARA e NEXT são usados ​​para criar loops, que pode então ser repetido várias vezes. No exemplo de hoje, eu uso um loop para preencher o plano de todas as formas, começando com o número Forma 1, em seguida, 2, 3 ... até o último formulário após o código termina.

IF funciona da mesma maneira que o IF função funciona quando você usá-lo em fórmulas em Excel. Por Exemplo:

IF Cell.Value <= 29,9 E Cell.Value> = 20 E, EM SEGUIDA

Para mais informações sobre IF e como usar operadores lógicos, AND, OR e NÃO próxima IF, eu tenho um hub que cobre essa função muito versátil e poderosa em mais detalhes.

I introduzir as noções básicas de código Visual Basic ou VBA no seguinte hub; incluindo como criar um novo código, como iniciar e terminar, como os erros e a base de código precisará saber para trabalhar com VB:

O código que eu escrevi para ambos meu hub introdutória do Visual Basic foi usada para criar um mapa temático em Excel, que permite que você veja as variações entre regiões geográficas em um mapa (por exemplo, a densidade populacional em toda a América). Meu hub sobre como criar um mapa temático pode ser encontrada aqui:

Além disso, eu usei as formas e código básico botões ao lado de comando do Visual, caixas de combinação, botões de rádio e slides Opção ou barras para criar uma interface de usuário Hotel Reservation que entra automaticamente a entrada do usuário em uma planilha do Excel. Este hub pode ser encontrada aqui:

Criação de um intervalo em Visual Basic no Excel 2007 e Excel 2010

Os intervalos permitem que um grupo na superfície das células em conjunto, a fim de executar uma tarefa para cada célula no intervalo. Existem dois tipos de variação:

  • A intervalo definido, onde você sabe exatamente o que as células que você deseja incluir para o qual você pretende usar Alcance
  • A intervalo indefinido é quando você sabe exatamente o que as células que você deseja incluir, ou o intervalo é dinâmico, caso em que vamos usar o CurrentRegion

A sintaxe para um intervalo definido está em negrito na figura a seguir:

Range ("C2: C49")

A sintaxe para um uso indefinido gama CurrentRegion e ActiveCell para dizer Excel para realizar algo para todas as células na área perto da célula ativa.

Para ativar uma célula específica:

Assim, podemos usar a célula ativa para dizer Excel para fazer alguma coisa para todas as células na região perto do nosso C2 célula ativa.

Para cada célula ActiveCell.CurrentRegion

Isto irá iniciar um ciclo no qual o Excel irá fazer a tarefa que nós definimos cada célula na área perto do nosso celular.

Criando Loops usando Visual Basic no Excel 2007 e Excel 2010

Para criar um laço em VB, usamos as funções e NEXT. Além disso, você pode usar uma variável para contar Excel quantas vezes para loop. I em negrito, o código que compõe o nosso ciclo abaixo:

A primeira linha:

Y = 1

Definir nossa variável que vamos utilizar para determinar o número de vezes que o laço será executado.

Para cada célula Range ("C2: C49")

Parece que cada célula do intervalo em ordem e verificação contra o IF comunicado.

Sheets ("Thematic_Map"). Formas (y).

Começando com o número 1 como Forma Y = 1, a primeira vez que o laço é executado.

Y = y + 1

Adiciona um a Y, Y 2 torna-se, em seguida, 3 e 4 até que, quando há mais formas.

Next

Diz Excel para executar o ciclo de novo, desde que há formas de cor e as células para verificação

Nota: Cada PARA afirmação precisa de um NEXT instrução para concluir o procedimento. O código não funciona sem tanto estar presente e Excel vai lhe dar o seguinte erro.

Usando IF em Visual Basic para Excel 2007 e Excel 2010

A parte final do nosso código é usar um IF comunicado. Tal como acontece com a utilização de IF em fórmulas, você pode usar IF com operadores lógicos, tais como E e E, EM SEGUIDA.

Nota: Para cada IF declaração, você precisa de um END IF para terminar o código.

Se Cell.Value <= 29,9 E Cell.Value> = 20 E, Em Seguida

Sheets ("Thematic_Map"). Shapes (y) .Fill.ForeColor.RGB = RGB (255, 255, 102)

End If

Como antes, as partes quanto à instrução IF estão em negrito. O que o código está fazendo é:

Se valor da célula é inferior a 29,9 e por mais de 20 e, em seguida Excel vai fazer o que está na linha seguinte.

Para ilustrar com um exemplo, se a célula que o Excel está assistindo é de 15, em seguida, Excel não vai fazer nada. Se a célula é de 21, em seguida, re-coloridas células como é entre 20 e 29,9

Como você pode ver na figura abaixo, você pode ter um número de IF declarações um após o outro. Excel Se o trabalho através de cada até encontrar um que combina a célula (ou variável) que você está pedindo para compará-los com.

Nota: Se o conteúdo da célula (ou variável) não coincidem é procurado em um dos IF declarações (um número superior a 70 no meu código, por exemplo), em seguida, Excel não vai fazer nada para essa célula.

Usando IF com ELSE e ELSEIF em Visual Basic para Excel 2007 e Excel 2010

Em vez de usar uma série de IF declarações como já fizemos antes, você pode usar o MAIS e ELSEIF Comandos em vez . Trabalhando com o mesmo IF como fizemos acima, você pode ver o código usando ELSEIF e também MAIS.

Nota: MAIS é excelente como um prendedor de tudo, no exemplo acima, irá preencher todas as células acima de 50, enquanto o ELSEIF só vai preencher as células entre 50 e 70 anos, todos os dados relacionados com as células com valores mais elevados permanecerá vazio.

Nota: Você não pode usar MAIS diretamente com a IF comando (mostrado na figura abaixo). MAIS deve ser usado no final de um banco de IF ou ELSEIF declarações de trabalho como uma captura tudo para se certificar de que todos os valores fora da anterior IF ou ELSEIF declarações são processadas de uma certa maneira.

Conclusão

Ranges, loops com PARA A PRÓXIMA declarações e IF/ELSEIF declarações são muito importantes para aqueles que querem criar código usando o Visual Basic para compreender e ser capaz de usar. Neste hub, temos trabalhado com:

  • Criando um intervalo para os dados definidos e não definida ou dinâmico
  • Construir Para, em seguida laços
  • Usando IF declarações
  • Usando MAIS e ELSEIF IF

Graças a esses conceitos importantes, o código que você pode agora criar será muito mais útil e poderosa do que antes. Você será capaz de, como eu era quando eu criei este código, facilmente manipular grandes quantidades de dados de uma forma flexível e controlada. Boa sorte com a criação de código em VB para tornar mais fácil a vida e seus dados mais útil e poderosa. Muito obrigado pela leitura, sinta-se livre para deixar quaisquer comentários muitos seguiram.

(0)
(0)

Comentários - 0

Sem comentários

Adicionar um comentário

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caracteres restantes: 3000
captcha