Visual Basic - Label oculto que se muestre si se registran todos los campos del formulario

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Label oculto que se muestre si se registran todos los campos del formulario

Publicado por Rafael (2 intervenciones) el 18/12/2016 18:42:54
Hola, soy nuevo en esto de los formularios y no sé cómo hacer para que a través de un Label aparezca el resultado de las celdas de una columna que tengo una formula. Este Label he conseguido que No sea visible hasta que se registre el último ComboBox, pero mi intención es que esté oculto hasta que se registren todos los datos del formulario.

La idea es que el Label no sea visible hasta que se seleccione el botón de grabar y a partir de ahí aparezca dicho Label con el mensaje “la valoración del riesgo es…”, junto con el resultado de la fórmula que tengo en la Hoja1 en la columna S que da los valores “bajo” o “moderado” o “alto” o “extremo”.

Label38 “La Valoración del Riesgo es: “ en propiedades lo he puesto como no visible
Hoja1 columna T, a partir de la fila 2, es donde está el resultado de la fórmula que puede ser bajo o moderado o alto o extremo

el código de VB que tengo hasta ahora es

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Sub UserForm_Initialize()
Label38.Visible = False   'mensaje de Valoracion del riesgo oculto
End Sub
 
 
Sub btn_RegistraDatos_Click()  'boton Registrar
'si no se registran los siguientes campos aviso de Error
If ComboBox1 = "" Or ComboBox2 = "" Or ComboBox20 = "" _
Or ComboBox21 = "" Or ComboBox3 = "" _
Or ComboBox4 = "" Or TextBox1 = "" _
Or ComboBox25 = "" Or ComboBox24 = "" _
Or ComboBox5 = "" Or ComboBox6 = "" _
Or TextBox11 = "" Or ComboBox19 = "" Then
'Or ComboBox22 = "" Or TextBox2 = ""  Or TextBox3 = "" Or TextBox4 = ""
MsgBox "Falta algún campo por cumplimentar", vbInformation, "Error de captura"
 
Else
 
Sheets("DatosFichas").Select
Range("A" & Cells.Rows.Count).End(xlUp).Offset(1).Select
ActiveCell = ComboBox1.Value
ActiveCell.Offset(0, 1) = ComboBox2.Value
ActiveCell.Offset(0, 2) = ComboBox20.Value
ActiveCell.Offset(0, 3) = ComboBox21.Value
ActiveCell.Offset(0, 4) = TextBoxVariasLineas22.Value
ActiveCell.Offset(0, 5) = ComboBox3.Value
ActiveCell.Offset(0, 6) = ComboBox4.Value
ActiveCell.Offset(0, 7) = TextBox1.Value
ActiveCell.Offset(0, 8) = TextBox2.Value
ActiveCell.Offset(0, 9) = ComboBox25.Value
ActiveCell.Offset(0, 10) = ComboBox24.Value
ActiveCell.Offset(0, 11) = TextBox3.Value
ActiveCell.Offset(0, 12) = TextBox4.Value
ActiveCell.Offset(0, 13) = ComboBox5.Value
ActiveCell.Offset(0, 14) = ComboBox6.Value
ActiveCell.Offset(0, 15) = TextBox11.Value
ActiveCell.Offset(0, 16) = ComboBox19.Value
 
                ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Sheets("Hoja1").Select
'Filas = Range("A:T").CurrentRegion.Rows.Count
'For i = 2 To Filas
'    If LCase(Cells(i, 20).Value) = Cells(6, 36).Value Then
'    Me.Label38 = "La valoración del riesgo es EXTREMO"
'        ElseIf LCase(Cells(i, 20).Value) = Cells(5, 36).Value Then
'        Me.Label38 = "La valoración del riesgo es MUY ALTO"
'            ElseIf LCase(Cells(i, 20).Value) = Cells(4, 36).Value Then
'            Me.Label38e = "La valoración del riesgo es ALTO"
'                ElseIf LCase(Cells(i, 20).Value) = Cells(3, 36).Value Then
'                Me.Label38 = "La valoración del riesgo es MODERADO"
'                    ElseIf LCase(Cells(i, 20).Value) = Cells(2, 36).Value Then
'                    Me.Label38 = "La valoración del riesgo es BAJO"
'    End If
'Next i
Label38.Visible = True  'mensaje de Valoracion del riesgo visible. La idea es que sea visible
                        'cuando se registre los datos de todo el formulario
                ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
MsgBox "Los datos se han registrado correctamente", vbOKOnly, "Registro"
 
'limpio el formulario
ComboBox1 = Empty
ComboBox2 = Empty
ComboBox20 = Empty
ComboBox21 = Empty
ComboBox22 = Empty
TextBoxVariasLineas22 = Empty
ComboBox3 = Empty
ComboBox4 = Empty
TextBox1 = Empty
TextBox2 = Empty
ComboBox25 = Empty
ComboBox24 = Empty
TextBox3 = Empty
TextBox4 = Empty
ComboBox5 = Empty
ComboBox6 = Empty
TextBox11 = Empty
ComboBox19 = Empty
Label38 = ""
 
Label38 = Empty
ComboBox1.SetFocus  'cursor al inicio del formulario
End If
 
'Call formato_hoja_DatosFichas  habilitar cuando termine resto funciones
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder