Thread: Updating list
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Leith Ross[_762_] Leith Ross[_762_] is offline
external usenet poster
 
Posts: 1
Default Updating list


tracktraining;243238 Wrote:
Hi Everyone,

I have a combo box in a userform (Complaint.Verified). The box is
populated
with an initial list by the following code:

With Workbooks("Service test by thi.xls").Worksheets("Sheet2")
Set ComplaintRng = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp))
End With

'using the entire range of values in the column A starting with A2
Me.Complaint_verified.List = ComplaintRng.Value

If a new value was entered in the combo box (Me.complaint_verified)
that is
not part of the list, how do I add this new value to sheet2 under row A
for
future use.

I have something like:

For Each ComplaintRng.Value In ComplaintRng
If Me.Complaint_verified < ComplaintRng.Value Then
.Additem Me.Complaint_verified.Worksheets("sheet2").range(1 :4)
End If
Next ComplaintRng

But of course this code doesn't work.

Any suggestions.

thanks!
tracktraining
--
Learning


Hello tracktraining,

This update of your code includes error checking. It operates by
checking the entry after the user hits the enter key in the combo box.
The code extends the worksheet range by adding the entry and the combo
box list, if the entry isn't found. Empty entries, including an entry of
spaces are ignored. Copy this code into your UserForm for the combo box
you named complaint_verified.

'----------------------------------------------
Private Sub complaint_verified_AfterUpdate()

Dim Data As String
Dim Ret As Variant
Dim Rng As Range
Dim RngEnd As Range

With Workbooks("Service test by thi.xls").Worksheets("Sheet2")
Set Rng = .Range("A2")
Set RngEnd = .Cells(Rows.Count, Rng.Column).End(xlUp)
Set RngEnd = IIf(RngEnd.Row < Rng.Row, Rng.Row, RngEnd.Offset(1,
0))
Set ComplaintRng = .Range(Rng, RngEnd)
End With

On Error Resume Next
Data = Me.complaint_verified.Value
If Trim(Data) < "" Then
Ret = WorksheetFunction.VLookup(Data, ComplaintRng, 1,
False)
If Err = 1004 Then
ComboBox1.AddItem Data
RngEnd.Value = Data
Err.Clear
End If
End If
On Error GoTo 0

End Sub
'----------------------------------------------


--
Leith Ross

Sincerely,
Leith Ross

'The Code Cage' (http://www.thecodecage.com/)
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=67808