Results 1 to 3 of 3

Multiple comboboxes populated with same lists; data entered to multiple rows.

Threaded View

  1. #1
    Forum Contributor
    Join Date
    01-06-2012
    Location
    London, England
    MS-Off Ver
    2013
    Posts
    165

    Multiple comboboxes populated with same lists; data entered to multiple rows.

    Hi there I'm new to comboboxes and was hoping someone could push me in the right direction with a problem I'm having. I'll do my best to be clear as I can with what I'm trying to achieve.

    What I want to end up with is a working version of this;
    excel image.JPG

    I'm trying to record sales of certain sized products, these products can be a specific width, height and length. I want the user to be able to select the sizes from the dropdown boxes and have the data entered on Sheet2 as a sales record.

    How would I go about populating all the dropdown comboxes in each column with the same data as shown in the top line. Each selection would also need to be entered on a new line in the record/Sheet2

    I've been using the famous contextures PartLocDB to get me started, and if it works fine with just one line of selections. But I was hoping someone could explain to me how to make multiple selections and multiple entries. Thanks

    Option Explicit
    
    Private Sub cmdAdd_Click()
    Dim lRow As Long
    Dim lPart As Long
    Dim ws As Worksheet
    Set ws = Worksheets("PartsData")
    
    'find  first empty row in database
    ''lRow = ws.Cells(Rows.Count, 1) _
    ''  .End(xlUp).Offset(1, 0).Row
    
    'revised code to avoid problems with
    'Excel lists and tables in newer versions
    lRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
        SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
        
    lPart = Me.cboPart.ListIndex
    
    'check for a part number
    If Trim(Me.cboPart.Value) = "" Then
      Me.cboPart.SetFocus
      MsgBox "Please enter a part number"
      Exit Sub
    End If
    
    'copy the data to the database
    With ws
      .Cells(lRow, 1).Value = Me.cboPart.Value
      .Cells(lRow, 2).Value = Me.cboPart.List(lPart, 1)
      .Cells(lRow, 3).Value = Me.cboLocation.Value
      .Cells(lRow, 4).Value = Me.txtDate.Value
      .Cells(lRow, 5).Value = Me.txtQty.Value
    End With
    
    'clear the data
    Me.cboPart.Value = ""
    Me.cboLocation.Value = ""
    Me.txtDate.Value = Format(Date, "Medium Date")
    Me.txtQty.Value = 1
    Me.cboPart.SetFocus
    
    End Sub
    
    Private Sub cmdClose_Click()
      Unload Me
    End Sub
    
    Private Sub UserForm_Initialize()
    Dim cPart As Range
    Dim cLoc As Range
    Dim ws As Worksheet
    Set ws = Worksheets("LookupLists")
    
    For Each cPart In ws.Range("PartIDList")
      With Me.cboPart
        .AddItem cPart.Value
        .List(.ListCount - 1, 1) = cPart.Offset(0, 1).Value
      End With
    Next cPart
    
    For Each cLoc In ws.Range("LocationList")
      With Me.cboLocation
        .AddItem cLoc.Value
      End With
    Next cLoc
    
    Me.txtDate.Value = Format(Date, "Medium Date")
    Me.txtQty.Value = 1
    Me.cboPart.SetFocus
    
    End Sub
    Last edited by BPSJACK; 07-18-2012 at 05:15 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1