AQUÍ EL CÓDIGO:
Private A As Integer 'Solo para este modulo
Public B As Integer 'Para todos los modulos
Sub Macro1()
Dim A As Integer 'La variable A se inicializa en cero siempre
A = A + 1
MsgBox "A= " & A
End Sub
Sub Macro2() 'No se reinicializa
A = A + 1 'Variable A, comparte valor con la Macro3
Rpta = MsgBox("A= " & A & ", Desea reinicializar A?", vbYesNo)
If Rpta = vbYes Then A = 0
End Sub
Sub Macro3() 'No se reinicializa
A = A + 1 'Variable A, comparte valor con la Macro2
Rpta = MsgBox("A= " & A & ", Desea reinicializar A?", vbYesNo)
If Rpta = vbYes Then A = 0
End Sub
Sub Macro4() 'No se reinicializa
Static A As Integer 'Variable conserva su valor solo en esta macro
A = A + 1
Rpta = MsgBox("A= " & A & ", Desea reinicializar A?", vbYesNo)
If Rpta = vbYes Then A = 0
End Sub
Sub Macro5() 'No se reinicializa
B = B + 1 'Variable B, comparte valor con la Macro7
Rpta = MsgBox("B= " & B & ", Desea reinicializar B?", vbYesNo)
If Rpta = vbYes Then B = 0
End Sub
----------------------------------------------------------------------------------------------------------------------
AQUÍ EL CÓDIGO:
Private A As Integer
Sub Macro6() 'No se reinicializa
A = A + 1 'Conserva su valor solo en este modulo
Rpta = MsgBox("A= " & A & ", Desea reinicializar A?", vbYesNo)
If Rpta = vbYes Then A = 0
End Sub
Sub Macro7() 'No se reinicializa
B = B + 1 'Variable B, comparte valor con la Macro5
Rpta = MsgBox("B= " & B & ", Desea reinicializar B?", vbYesNo)
If Rpta = vbYes Then B = 0
End Sub
---------------------------------------------------------------------------------------------------------------
PRECISIÓN DE LAS VARIABLES
AQUÍ EL CÓDIGO:
Sub Macro8()
Dim N As Integer
Dim M As Integer
Dim Calc1 As Integer
Dim Calc2 As Single
N = Range("B3")
M = Range("B4")
Calc1 = N / M
Range("B6") = Calc1
Range("B7") = Calc1 * M
Calc2 = N / M
Range("B9") = Calc2
Range("B10") = Calc2 * M
End Sub
Sub Macro9()
Dim N As Integer
Dim M As Integer
Dim Calc1 As Double
Dim Calc2 As Variant
N = Range("F3")
M = Range("F4")
Calc1 = N / M
Range("F6") = Calc1
Range("F7") = Calc1 * M
Calc2 = N / M
Range("F9") = Calc2
Range("F10") = Calc2 * M
End Sub



No hay comentarios:
Publicar un comentario