7. Defina um procedimento de nome 'AdivinhaA1' que pede repetidamente ao utilizador para adivinhar o valor presente na célula A1 até que este introduza o valor correcto. O procedimento deverá mostrar mensagens do tipo 'O valor da célula A1 é menor!' ou 'O valor da célula A1 é maior!' quando o valor introduzido pelo utilizador for respectivamente maior ou menor que o valor em A1. Assim que o utilizador acerte no valor correcto deverá ser apresentada uma caixa de mensagem indicando o número de tentativas utilizadas, como por exemplo, 'Acertou em 3 tentativas!' (Nota: para ocultar o valor da célula A1 formate a cor do tipo de letra como branco).
8. Construa um formulário que calcule sobre o conjunto de células seleccionadas as funções Soma, Média, Máximo e Mínimo e que guarde o resultado obtido numa outra célula. O acesso ao formulário deve ser conseguido através do uso de um botão de comando. As alíneas que se seguem orientam o desenvolvimento do formulário pretendido. À medida que realiza as várias alíneas experimente o seu resultado no formulário.
Private Sub CommandButtonFunBas_Click()
FormFunBas.Show
End Sub
Option Explicit
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Soma"
ComboBox1.AddItem "Média"
ComboBox1.AddItem "Máximo"
ComboBox1.AddItem "Mínimo"
TextBox1 = ""
TextBox2 = ""
End Sub
Private Sub CommandButton1_Click()
Range(TextBox2) = TextBox1
Unload Me
End Sub
Private Sub ComboBox1_Change()
Select Case ComboBox1.ListIndex
Case 0
TextBox1 = CelSoma(Selection)
Case 1
TextBox1 = CelMed(Selection)
Case 2
TextBox1 = CelMax(Selection)
Case 3
TextBox1 = CelMin(Selection)
End Select
End Sub
Function CelMax(rng As Range) As Integer
Dim celula As Range
CelMax = rng.Range("A1")
For Each celula In rng
If celula > CelMax Then CelMax = celula
Next
End Function