ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Transfer variable between macros (https://www.excelbanter.com/excel-programming/434720-transfer-variable-between-macros.html)

WLMPilot

Transfer variable between macros
 
I am using a userform to create an order for stock. Variables are used
during initialization, ie stklvl = whatever the max stock level is for that
item.

The user then enters the quantity on hand. When the user presses the enter
key, the following macro executes:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = Str(stklvl) - Str(TextBox1)
End If
End Sub


Textbox2 is the difference between max stock level (stklvl) and quantity on
hand.

How do I transfer the value of stklvl from the initialization macro to this
macro so I can compute the difference?

Thanks,
Les

Sam Wilson

Transfer variable between macros
 
You need to have stklvl declared as a public variable.

If you currently have the line "Dim stklvl" in the initialisation macro,
delete it. Then, before that macro type:

Public stklvl as Variant

"WLMPilot" wrote:

I am using a userform to create an order for stock. Variables are used
during initialization, ie stklvl = whatever the max stock level is for that
item.

The user then enters the quantity on hand. When the user presses the enter
key, the following macro executes:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = Str(stklvl) - Str(TextBox1)
End If
End Sub


Textbox2 is the difference between max stock level (stklvl) and quantity on
hand.

How do I transfer the value of stklvl from the initialization macro to this
macro so I can compute the difference?

Thanks,
Les


Mike H

Transfer variable between macros
 
Hi,

Declare the variable as public, set syklvl in the initialise code and it
will pass to your keydown code

Public stklvl As Long
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = stklvl - Val(TextBox1)
End If
End Sub


Private Sub UserForm_Initialize()
stklvl = 99
End Sub


Mike

"WLMPilot" wrote:

I am using a userform to create an order for stock. Variables are used
during initialization, ie stklvl = whatever the max stock level is for that
item.

The user then enters the quantity on hand. When the user presses the enter
key, the following macro executes:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = Str(stklvl) - Str(TextBox1)
End If
End Sub


Textbox2 is the difference between max stock level (stklvl) and quantity on
hand.

How do I transfer the value of stklvl from the initialization macro to this
macro so I can compute the difference?

Thanks,
Les


WLMPilot

Transfer variable between macros
 
Thanks, will give it a shot



"Sam Wilson" wrote:

You need to have stklvl declared as a public variable.

If you currently have the line "Dim stklvl" in the initialisation macro,
delete it. Then, before that macro type:

Public stklvl as Variant

"WLMPilot" wrote:

I am using a userform to create an order for stock. Variables are used
during initialization, ie stklvl = whatever the max stock level is for that
item.

The user then enters the quantity on hand. When the user presses the enter
key, the following macro executes:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = Str(stklvl) - Str(TextBox1)
End If
End Sub


Textbox2 is the difference between max stock level (stklvl) and quantity on
hand.

How do I transfer the value of stklvl from the initialization macro to this
macro so I can compute the difference?

Thanks,
Les


WLMPilot

Transfer variable between macros
 
Thanks, will give it a shot

"Mike H" wrote:

Hi,

Declare the variable as public, set syklvl in the initialise code and it
will pass to your keydown code

Public stklvl As Long
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = stklvl - Val(TextBox1)
End If
End Sub


Private Sub UserForm_Initialize()
stklvl = 99
End Sub


Mike

"WLMPilot" wrote:

I am using a userform to create an order for stock. Variables are used
during initialization, ie stklvl = whatever the max stock level is for that
item.

The user then enters the quantity on hand. When the user presses the enter
key, the following macro executes:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
TextBox2 = Str(stklvl) - Str(TextBox1)
End If
End Sub


Textbox2 is the difference between max stock level (stklvl) and quantity on
hand.

How do I transfer the value of stklvl from the initialization macro to this
macro so I can compute the difference?

Thanks,
Les



All times are GMT +1. The time now is 02:35 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com