ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copying TextBox entry from one UserForm to another (https://www.excelbanter.com/excel-programming/351015-copying-textbox-entry-one-userform-another.html)

excelnut1954

Copying TextBox entry from one UserForm to another
 
When UserForm4 comes up, the user enters data in TextBox1. When the
user completes UserForm4, he clicks Next, and UserForm6 comes up. I
would like the number entered in TextBox1 of UserForm4 to automatically
populate TextBox7 of UserForm6.
Can this be done?

Thanks,
J.O.


Kris

Copying TextBox entry from one UserForm to another
 
excelnut1954 wrote:
When UserForm4 comes up, the user enters data in TextBox1. When the
user completes UserForm4, he clicks Next, and UserForm6 comes up. I
would like the number entered in TextBox1 of UserForm4 to automatically
populate TextBox7 of UserForm6.
Can this be done?

Thanks,
J.O.



' ------------------------------define this to constant somewhere
public const CancelClicked = 0
public const NextClicked = 1



'----both user form code

Option Explicit

Private m_bResult As Boolean
Property Get Result() As Boolean
Result = m_bResult
End Property

Private Sub btnCancel_Click()
m_bResult = CancelClicked
Hide
End Sub
Private Sub btnNext_click()
If Not ValidateUserInput() Then Exit Sub
m_bResult = NextClicked
Hide
End Sub



Private Function ValidateUserInput() As Boolean
ValidateUserInput = False

'if data don't fit criteria then exit function

ValidateUserInput = True

End Function





' -------------- your module code


load UserForm4
UserForm4.Show

if UserForm4.Result = NextClicked then
load UserForm6
UserForm6.TextBox7.value = userForm4.TextBox1.value
UserForm6.Show
' do something with values from UserForm6
unload userForm6
end if
unload UserForm4



-------------------------
The clue is that data are initiated and processed in parent module not
in user form directly.
Initiated after loading user form , processed after returning from .show

In general user form shouldn't interact with data which is not a part of
user form.
Everything can be done in parent module after hiding user form.


Try to not have unload me in your user form and you'll see that
everything becomes simpler.










excelnut1954

Copying TextBox entry from one UserForm to another
 
I sure do appreciate your help. But, I really don't know where to put
all this code. Some of it makes sense, but I just don't know where it
goes. I've tried putting it all into a seperate Module, but it isn't
right. Guess I'm not experienced enough to understand the terminology.
Thanks,
J.O.


excelnut1954

Copying TextBox entry from one UserForm to another
 
I'm sure the code Kris entered above is correct.

But, is there anyone who can simplify it? What I want seems do be just
a simple Copy & Paste situation. I know that's not how this all works,
but there has to be a simplier way to do this.

I just want TextBox7 of UserForm6 to automatically be what was just
entered in TextBox1 of UserForm4.

Can anyone help?


Tom Ogilvy

Copying TextBox entry from one UserForm to another
 
In a general module, put in code like

Public myvar as String

in Userform4 code module put in

Sub TextBox1_Change()
myvar = Textbox1.Value
End sub

In Userform6 code module

Private Sub Userform_Activate()
Textbox7.Value = MyVar
End Sub

--
Regards,
Tom Ogilvy


"excelnut1954" wrote in message
oups.com...
I'm sure the code Kris entered above is correct.

But, is there anyone who can simplify it? What I want seems do be just
a simple Copy & Paste situation. I know that's not how this all works,
but there has to be a simplier way to do this.

I just want TextBox7 of UserForm6 to automatically be what was just
entered in TextBox1 of UserForm4.

Can anyone help?




excelnut1954

Copying TextBox entry from one UserForm to another
 
Just some more info on what I have already, that may effect what I'm
trying to do now. There is already code in UserForm4 that makes sure
the entry of TextBox1 isn't already on the list. I want to make sure
this isn't conflicting with what I'm trying to do above. Trying to
cover all bases. Is there a problem with having code in both of the
subs shown below for TextBox1? A "change" sub, and an "exit" sub. Here
are the 2 subs.

('This is the code you had me put in, that would help auto enter the
value in UserForm6)
Private Sub TextBox1_Change()
myvar = TextBox1.Value

End Sub

(This is code I had in there already, to make sure of no duplicates
resulting from entry of TextBox1)
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'This will check to make sure the user entry is not already on
'the list. If so, message box comes up.

With Worksheets("Official list")
If TextBox1.Text < "" And Not .Range("j:j").Find(TextBox1.Text,
LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False) Is Nothing Then
MsgBox "This PO/PL is already on the list. Please enter the
information in the existing Record."
TextBox1.Text = Clear
Cancel = True

End If
End With

End Sub


excelnut1954

Copying TextBox entry from one UserForm to another
 
OK... I got it. Fooled around, and with some more reading, I found out
about the Declaration part of a Module. WHEW.
I really appreaciate the help!!
J.O.



All times are GMT +1. The time now is 05:08 PM.

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