I would still rate myself a beginner at code, but
was thinking that it was the way i had the Combobox list populated that was causing the problem.
I populate it with code not RowSource.
The code i use is:
Private Sub ComboBox2_DropButtonClick()
Application.ScreenUpdating = False
If ComboBox2.ListCount > 0 Then Exit Sub
Dim LastCell As Long
Dim myrow As Long
On Error Resume Next
LastCell = Worksheets("InspectionData").Cells(Rows.Count, "A").End(xlUp).Row
With ActiveWorkbook.Worksheets("InspectionData")
For myrow = 2 To LastCell
If .Cells(myrow, 1) <> "" Then
If .Cells(myrow, 1).Offset(-1, 2).Text = Sheet5.Range("B2").Value And .Cells(myrow,
1).Offset(0, 0).Value = ComboBox1.Text And IsNumeric(Trim(Mid(.Cells(myrow, 1), 2))) = True Then
For i = 2 To 22
If Cells(myrow, 3).Offset(i, 0).Value <> "" Then
ComboBox2.AddItem Cells(myrow, 3).Offset(i, 0)
ComboBox2.List(ComboBox2.ListCount - 1, 1) = Cells(myrow, 3).Offset(i, 0).Address
' <======= This is where i thought i could ADD the other Textbox Values Offset from what i selected.
End If
Next i
End If
End If
Next
End With
Application.ScreenUpdating = True
End Sub
What does your rowsource look like? Mine looks like this:
? userform2.ComboBox1.RowSource
Sheet1!A1:A10
The code works perfectly for me, over and over. Everytime I click to select
a value from the dropdown, textbox1 and textbox 2 fill with the appropriate
values whether Sheet1 is the activesheet or not. (code copied right out of
my post).
PS. If you are not filling your combobox by using the RowSource property,
then obviously this approach would not work - but I am sure you would know
that. In that case, you would have to have some knowledge of where to look
for your data and use a similar approach.
here is the code again:
Private Sub ComboBox1_Click()
Dim Rng As Range, idex As Long, rw As Long
With Me
With .ComboBox1
Set Rng = Range(.RowSource).Columns(1).Cells
idex = .ListIndex + 1
End With
End With
rw = Rng(idex).Row
TextBox1.Value = Rng.Parent.Cells(rw, 6).Text
TextBox2.Value = Rng.Parent.Cells(rw, 7).Text
End Sub