Blog Archive
-
▼
2005
(103)
-
▼
janeiro
(23)
- Visualização de Formulário (III)
- VBE: Visualização de Formulário (II)
- VBE: Visualização de Formulário
- Excel: Utilização da Função SUBSTITUTE() ou SUBST()
- Excel: Exemplo de Array
- Novo Blog sobre Excel
- Excel: Múltiplos CountIf()
- VBE: geração de gráficos tridimensionais
- Excel: Shortcuts
- Excel: Moldar Texto
- VBE: Preenchimento de Caixa de Combinação (ComboBox)
- VBE: O evento WorkSheet_Change()
- Andrew's Utilities
- VBE: Editar Campos - Alterar dados
- VBE: Utilização de SpinButton
- VBE: Preencher campos de Formulário com os dados c...
- VBE: Formulários transparentes
- Excel: Linkar para o Word
- Formatação personalizada - Cor II
- Excel: Formatação personalizada - Cor
- Excel: Formatos personalizados - O formato nulo
- Excel: Formatação Condicional, com Fórmula como co...
- VBE: Formulários
-
▼
janeiro
(23)
About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-01-12
VBE: O evento WorkSheet_Change()
4:31 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Se pretendermos provocar uma ocorrência sempre uma determinada célula é alterada, podemos socorre-nos do evento WorkSheet_Change().
Tomemos o seguinte exemplo:
Se se pretender que, sempre que se insira um novo valor em A1, apareça em B1 metade do valor inserido em A1, adicionado ao valor que antes estava em B1, ou seja:
1ª inserção em A1 = 36, logo, B1 deverá tomar o valor 18 (36/2)
2ª inserção em A1 = 24, logo, B1 deverá tomar o valor 30 (24/2=12 + 18)
então, o Código poderá ser o seguinte:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Offset(0, 1).Value = Target.Offset(0, 1).Value + Target.Value / 2
End If
End Sub
Tomemos o seguinte exemplo:
Se se pretender que, sempre que se insira um novo valor em A1, apareça em B1 metade do valor inserido em A1, adicionado ao valor que antes estava em B1, ou seja:
1ª inserção em A1 = 36, logo, B1 deverá tomar o valor 18 (36/2)
2ª inserção em A1 = 24, logo, B1 deverá tomar o valor 30 (24/2=12 + 18)
então, o Código poderá ser o seguinte:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Offset(0, 1).Value = Target.Offset(0, 1).Value + Target.Value / 2
End If
End Sub