Hi,
In the ComboBox1_Change event change TextBox7 to
TextBox7 = Format(MyRange.Find(ComboBox1).Offset(0, 8), "dd/mm/yyyy")
Richard Buttrey
RIP - d. 06/10/2022
If any of the responses have helped then please consider rating them by clicking the small star iconbelow the post.
Thanks very much, that worked perfectly, greatly appreciated.
Hello David
You might like to consider simplifying this. As I intimated a loop would be better used to populate your text boxes
I alos see that every time you populate them you are calling the Function MyRange. Which means that you are calling it 43 times. Which is rather a waste of time and resources.
Just create an Excel dynamic range name called 'MyRange'
=OFFSET(Plan!$A$2,0,0,COUNTA(Plan!$A:$A),1)
Create a Public Variable in the VBA
In your Userform initialise event![]()
Public myrange As Range
and now your ComboBox change event is![]()
Private Sub UserForm_Initialize() Set myrange = Sheet1.Range("MyRange") For Each cell In myrange ComboBox1.AddItem cell Next End Sub
![]()
Private Sub ComboBox1_Change() Dim x As Long On Error GoTo 1 For x = 1 To 7 If x <> 7 Then UserForm2.Controls("TextBox" & x) = myrange.Find(ComboBox1).Offset(0, x + 1) Else UserForm2.Controls("TextBox" & x) = Format(myrange.Find(ComboBox1).Offset(0, x + 1),"dd/mm/yyyy") End If Next x TextBox43 = myrange.Find(ComboBox1).Offset(0, 1) Label1 = ComboBox1 1 End Sub
Last edited by Richard Buttrey; 08-27-2012 at 10:43 AM.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks