Referencing User Form from WorkBook
Very nice to hear from you. I am so glad your helping me with this.
I really did try to do this myself, but I think I broke it again. I put the
code in to send the information from the User Form to the hidden sheet "JOB
DATA" and it works perfect.
Now if I just get the Data to come back when the Work Book is opened. I
guess the problem is that the Work Book name will vary. I figured if I put
the code in with the open exsisting Work Book it would auto fill off that.
How bad did I break it this time?
What I tried to do was to put the code as follwows:
' Open Existing Engineering Spec 9 Control Button
Private Sub Open_Existing_Engineering_Spec_9_Click()
Dim FileToOpen As Variant
Dim bk As Workbook
Dim LastBackSlashPos As Long
Dim myMsg As String
FileToOpen = Application.GetOpenFilename("SPEC (*.xlsm), Spec*.xlsm")
If FileToOpen = False Then
MsgBox prompt:=Engineer_2.Value & vbLf & "You canceled opening an
Engineering Spec", _
Title:="C.E.S."
' MsgBox "User Canceled Operation, No Engineering Spec was Opened",
, "C.E.S."
Exit Sub
End If
LastBackSlashPos = InStrRev(FileToOpen, "\", -1, vbTextCompare)
If UCase(Mid(FileToOpen, LastBackSlashPos + 1, 4)) < UCase("SPEC") Then
MsgBox prompt:=Engineer_2.Value & vbLf & "You can only open an
exsisting Engineering Spec", _
Title:="C.E.S."
Exit Sub
End If
Set bk = Workbooks.Open(Filename:=FileToOpen)
'================================================= ====
'Update from Data Storage Sheet (Hidden in Job Work Book)
'================================================= ====
With UserForm1
' Site Information:
UserForm1("CLLI_Code_1").Value = .Range("D02").Value
UserForm1("Office_1").Value = .Range("D03").Value
UserForm1("Address_11").Value = .Range("D04").Value
UserForm1("Address_12").Value = .Range("D05").Value
More Code for all the Text Boxes (Lines 02-45)
' Line 46
Me("Type_Work_723").Value = .Range("C83").Value
Me("Bay_Description_723").Value = .Range("J83").Value
Me("Bay_ID_723").Value = .Range("F83").Value
Me("Description_Work_723").Value = .Range("M83").Value
'================================================= ====
End With
End Sub
"JLGWhiz" wrote:
Hi Brian, I believe you have buttons on your UserForm that open the various
workbooks where you will store the UserForm TextBox data on hidden sheets.
If this is correct, then you could insert your retrieval code into the click
event code so that as soon as that work book is opened, the data can be
recovered from the hidden sheet. In that case the UserForm could be
referred to as Me.
Workbooks("SPEC").Sheets("Hidden").Visible = True
Me.TextBox1.Text = Worksbooks("SPEC")/Sheets("Hidden").Range("A1").Value
The above example would retrieve the stored value from the hidden sheet cell
A1 and place it in TextBox1. Only if you do not run the code from the
UserForm would you have to make reference to the full object path. i.e.
UserForm1.TextBox1 = etc.
If you try to put the code in the public code module, the the workbooks
will need to be opened first and the UserRorm will have to be active for the
code to work.
"Brian" wrote in message
...
I have a User Form that once it is filled in, it updates several other Work
Books from different Control Buttons.
I need to save the Input on the User Form in one of the Wook Books, so
that
if the Work Book is opened again the User Form automatically Fills back
in.
I have the following code for when my Work Book is opened:
' Open Existing Eng Spec 9 Control Button
Private Sub Open_Existing_Eng_Spec_9_Click()
Dim FileToOpen As Variant
Dim bk As Workbook
Dim LastBackSlashPos As Long
Dim myMsg As String
FileToOpen = Application.GetOpenFilename("SPEC (*.xlsm), Spec*.xlsm")
If FileToOpen = False Then
MsgBox prompt:=Engineering_2.Value & vbLf & "You canceled opening
an
Engineering Spec", _
Title:="C.E.S."
' MsgBox "User Canceled Operation, No Engineering Spec was
Opened",
, "C.E.S."
Exit Sub
End If
LastBackSlashPos = InStrRev(FileToOpen, "\", -1, vbTextCompare)
If UCase(Mid(FileToOpen, LastBackSlashPos + 1, 4)) < UCase("SPEC")
Then
MsgBox prompt:=Engineer_2.Value & vbLf & "You can only open an
exsisting Engineering Spec", _
Title:="C.E.S."
Exit Sub
End If
Set bk = Workbooks.Open(Filename:=FileToOpen)
'================================================= ====
'Update Data Storage Sheet (Hidden in Job Work Book)
'================================================= ====
With Workbooks("Master Engineering Spec.xlsm").Sheets("COVER SHEET")
' Site Information:
Me("CLLI_Code_1").Value = .Range("D02").Value
Me("Office_1").Value = .Range("D03").Value
Me("Address_11").Value = .Range("D04").Value
Me("Address_12").Value = .Range("D05").Value
More Code like above here
' Line 46
Me("Type_Work_723").Value = .Range("C83").Value
Me("Bay_Description_723").Value = .Range("J83").Value
Me("Bay_ID_723").Value = .Range("F83").Value
Me("Description_Work_723").Value = .Range("M83").Value
'================================================= ====
End Sub
How would I reference the User Form from the Work Book so that when the
Work
Book is opened the Data from the hidden Sheet is automaticaly sent back to
the User Form to fill it back in?
User Form = UserForm1
Work Book = Master Engineering Spec.xlsm
Sheet = Job Data
.
|