ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Combobox to Show 2 values in same row (https://www.excelbanter.com/excel-programming/382552-combobox-show-2-values-same-row.html)

Corey

Combobox to Show 2 values in same row
 
I can get 2 columns to display in a Combobox,
but i am unable to work out how to populate the other value from code.

Currently i use this:

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("to be Done").Cells(Rows.Count, "C").End(xlUp).Row
With ActiveWorkbook.Worksheets("to be Done")
..Select
For myrow = 1 To LastCell
If .Cells(myrow, 3) < "" Then
ComboBox2.AddItem Cells(myrow, 3)
End If
Next
End With
Application.ScreenUpdating = True
End Sub

But i want to add to the Combobox a Column to display the value in Column A as well as Column C in it.

How do i do this the above ?

Corey....

Mike Fogleman

Combobox to Show 2 values in same row
 
Corey, you will need to change your method of adding items from a loop to a ListFillRange if you want more than 1 column. The secret here is to set a 3-column combobox, but hide the 2nd column.

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("to be Done").Cells(Rows.Count, "C").End(xlUp).Row
With Me.ComboBox2
.ListFillRange = "A1:C" & LastCell
.ColumnCount = 3
.ColumnWidths = "90;0;90" 'hide col 2
.BoundColumn = 3 'sets .Value
.TextColumn = 3 'sets .Text
End With
Application.ScreenUpdating = True
End Sub

Mike F
"Corey" wrote in message ...
I can get 2 columns to display in a Combobox,
but i am unable to work out how to populate the other value from code.

Currently i use this:

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("to be Done").Cells(Rows.Count, "C").End(xlUp).Row
With ActiveWorkbook.Worksheets("to be Done")
.Select
For myrow = 1 To LastCell
If .Cells(myrow, 3) < "" Then
ComboBox2.AddItem Cells(myrow, 3)
End If
Next
End With
Application.ScreenUpdating = True
End Sub

But i want to add to the Combobox a Column to display the value in Column A as well as Column C in it.

How do i do this the above ?

Corey....

merjet

Combobox to Show 2 values in same row
 
After: ComboBox2.AddItem Cells(myrow, 3)
Insert: ComboBox2.Column(1, myrow - 1) = Cells(myrow, 1)
'Column is a 0 base array

Hth,
Merjet



Corey

Combobox to Show 2 values in same row
 
perfect thanks
"merjet" wrote in message
oups.com...
After: ComboBox2.AddItem Cells(myrow, 3)
Insert: ComboBox2.Column(1, myrow - 1) = Cells(myrow, 1)
'Column is a 0 base array

Hth,
Merjet





All times are GMT +1. The time now is 04:51 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com