hi abhiD,
as an option try this and see if it helps you!
Private Sub cmboMeter_Change()
Dim myName As String, myRange As Range
myName = Me.cmboMeter.Text
Set myRange = ThisWorkbook.Sheets("sheet4").Range("a:a")
Set found = myRange.Find(myName, LookIn:=xlValues)
If Not found Is Nothing Then
Me.txtRef_1 = found.Offset(, 1)
Me.units = found.Offset(, 2)
Else
Me.txtRef_1 = ""
Me.units = ""
End If
End Sub
Private Sub cmdAdd_Click()
Application.ScreenUpdating = False
'switch off screen updating to speed up code and prevent screen flickering
Dim NextRw As Long
With Sheets("Sheet4")
'find next empty row using Column A
NextRw = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Dim Wks As Worksheet
Set Wks = ActiveSheet
'input the textbox entries
.Cells(NextRw, 1).Value = Me.cmboMeter.Text
.Cells(NextRw, 2).Value = Me.txtRef_1.Value
.Cells(NextRw, 3).Value = Me.units.Value
End With
Me.cmboMeter.Value = ""
Me.txtRef_1.Value = ""
Me.units.Value = ""
Me.cmboMeter.SetFocus
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
Dim rList As Range
With Sheets("Sheet4")
Set rList = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
Me.cmboMeter.List = rList.Value
End Sub
Bookmarks