Close Window

Populate Listbox With Recordset

I am currently using the following code to populate a list box with the contents of an ADODB recordset:


Private Sub PopulateListBox()
 With Me.lboxRecords
 .ColumnCount = rsListBox.Fields.Count
 .Column = rsListBox.GetRows
 .ColumnHeads = True
 End With
End Sub

Is there a way to easily specify the column titles (I want the columns to have the same names that the fields in the recordset have)? Also, I'd like to automatically resize the ListBox so that it shows all the fields at once (i.e., no horizontal scroll bars). How about code for this?

Free Excel Courses

Similar Excel Tutorials

How to fill a Listbox with values in a UserForm. By default, a Listbox in a form will be empty, and we need to use ...

There are two different kinds of multiple item selections that you can have for a ListBox in a UserForm in Excel. O ...

How to get data from a ListBox control and put it into a worksheet in Excel. Sections: Get Data from a Single Selec ...

How to move single items as well as multiple items from one ListBox to another ListBox in UserForms in Excel. The b ...

Helpful Excel Macros

- This Excel macro allows you to filter a data set on multiple columns and criteria at once. This means that you can filt

- This Excel Macro works like a better Vlookup function because it returns ALL of the matching results. Run the

- This is very similar to the other Vlookup type Macro in that it returns all of the results that match a particular se

- Add a drop down menu or list to a cell in Excel with this free Excel macro. This is a great little macro that allows yo

- This macro will allow you to specify certain criteria and then to delete rows based upon that criteria. You will choose

Similar Topics

I want to populate a ListBox by means of Method AddItem and List. How to load the Column Heads?

Can be used the RowsourceType Property?


Hi All,

I have the below code which deletes all items from a listbox and my excel sheet which is the source for populating that listbox. I am using a option button style for my listbox and the selection style as single .i.e. you can select only one item at one go in the lisbox. I want my macro to delete the selected item from my worksheet .i.e. it's entire row so that it doesn't reflect in my lisbox any more. Below is my code :


Private Sub CommandButton2_Click()
 Dim I As Long
 With ListBox1
 For I = .ListCount - 1 To 0 Step -1
 If .Selected(I) Then
 .RemoveItem I
 Sheets("URL List").Rows(I + 2).EntireRow.Delete
 End If
 Next I
End With
End Sub

Thanks a lot for your help in advance.

I have a userform containing a multicolumn listbox (ListBox1) and textbox (txtSelectedJobNumber).

When a user clicks on a line in the listbox I want to automatically copy the text in the 3rd column of the selected line to the textbox.

If anyone could provide code which would allow me to do this I would be grateful



I have a UserForm with several fields on it: 5 are 'required' and the other 6 are 'optional'. If a user doesn't enter a value for ALL of the 5 'required' fields, how do I get the code to return the user to the UserForm (with, I assume, the values they already entered, still showing)?

I have the AutoOpen code that starts things off, and then, in turn, loads the UserForm with the fields that need to be populated.

I can't figure out how to route the user back to the UserForm, to enter the 'missed' data.

Hi All,

I got the below macro which uses IE and open the URLs. I want to create a userform with listbox with radio button and commandbutton on the same which will help me to connect to each url when I select the same in listbox and click on the commandbutton.

Sub DoBrowse1()
 Dim ie As Object
 Set ie = CreateObject("Internetexplorer.Application")
 ie.Visible = True
 ie.Navigate ""
End Sub

Any suggestions..

I have two columns in my spreadsheet. Column A has no blank fields, Column B has some blank fields. I would like to show the text from Column A in the same row of Column B only when Column B is blank.

So, basically I'm after: If column B has text, do nothing. If column B is blank, then list text from Column A.

Right now I've created Column C with this formula =IF(ISBLANK(B1), A1. That's working to get the text from A1 when B1 is blank. What can I do/add to get it pull the text from B1 if there is text there? there a better approach altogether?

Thnx for your help man. Now I have another situation.

I have the following:

1. Login form containing username and password fields.
2. Data entry form

I want to do the following:

1. Coding for username and password fields, which, If the login is successful, takes me to DATA Entry Form, Otherwise shows message "Invalid Login".

Thanks in anticipation.


I have a long list of data validation. I was wondering if there is a way when I clik on the drop down menu and type the first letter, automatically Excel shows all list with that letter.

Right now, I have to click on the drop down menu and scroll manually until I reach that desired list.



I am trying to fill a listbox on a userform with column headers, but I want it to be dynamic so that no matter how many column headers there are it won't be hard coded to a particular range.

Any help or suggestions would be greatly appreciated!


Ok, guys, new to this forum and I need some help with a business invoice. I know how to create a drop down list. But what I want to do is create a Drop-Down list with customers names, say cell A11. After selecting a customer name from the list, It would be able to populate the address in cells A12 and A13. Is this possible?

I'm working on a speadsheet that has thousands of line items with lots of great information, but not in the fields I need them to be in. Is there a formula to move for example cell contents A26 to B25 and D26 to F27? Also I have contents in one cell that I need to break apart is there a formula for that too? I searced the help and the net an came up with nothing. Maybe I'm not wording it correctly, but I'd appreciate the help.


This is a very basic question, but i have been struggling for hours, so I must ask.

I I trying to simply fill a combobox on a userform from a named range on a sheet, I want to populate the combobox as soon as the userform starts. (I launch the userform from a button on the sheet) Where must I place the code? and will this code work?

Sub Button1_Click()
Set UserForm1.combobox1.List = Sheets("Sheet1").Range("MyRange")
End Sub

I am very new to vba, so please excuse my ignorance,
any help would be greatly appreciated


I just worked with a data set where I needed to create a unique key based on existing information where no unique key was set up as a field. I accomplished it by concatenating (using the & [concatenation] operator) several fields based on what I hypothesized and observed about their content.

I'm thinking there has to be a more automated way to discover the best unique key of existing fields and their data. I thought I'd post this as a challenge because I don't know the "right" (or better) answer.

Anyone have any ideas?

In excel i have a sheet open with about 30 columns in it. I try to use the scroll bar to move to the right and nothing happens apart from the scroll bar moves along. If i use the right button on the keyboard the scroll bar moves but i cannot see the columns I want. I cannot see anything that would of caused this.

Can anyone help?

Seemingly super simple, but I can't figure it out.

When I create a bar chart, the bars are horizontal. I want the chart bars to be vertical. It tried to rotate the chart so that it is vertical, but the "rotate" options are greyed out.

How do I get those bars vertical?

I have a requirement to change the panes in excel.
My excel file will contain more than one tab.
I have to free the first two lines in all the tabs except the first one.
I tried the following code.


ActiveWindow.FreezePanes = True

But in this I have to change the Active Worksheets in VBA, Which I want to avoid.
Is there any method to achieve this without selecting the cells.
Something like

xlsobj.Worksheets(1).Rows("1:2").FreezePanes = True


I'd like help in creating a macro that deletes an entire row that has emtpy cells in col B, C & D in the same row.
So for example if I have empty cells in b3,c3 & d3 I'd like the row deleted.

I've used the code below for just column B but I need to include column C & D as well. I tried putting Columns("B:D") but it deletes everything.


Sub Step4()
 On Error Resume Next
End Sub

I'm sure it's something simple... like me !

Any help much appreciated


Hi everyone....this is my first post here ....and not my last I believe!

My question I believe is easily solvable for you cracks of excel.
I have a worksheet with a list of rows (item#, date, price, etc). In the last column of this list I can put an x for some of the items.
On another worksheet or sheet, I need to autoamtically have a list of the items in the first list above, that have an X in the last columns.
I created an example on a worksheet attached just for you to understand.
I apreciate all the help I can get.
Thank you so much.

Hey guys,

I'm trying to write a macro which prints to PDF and saves the file name as the contents of a cell. I've been looking through all the posts currently on this forum to get something working. I'm using the following code -

Sub PrintPDF()
Filename = "C:\Documents and Settings\samb\My Documents\" & ActiveSheet.Range("Z1").Value
SendKeys Filename & "{ENTER}", False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF:", Collate:=True
End Sub

The macro prints to PDF, but then it stops at the Save As stage, where I have to manually enter the name of the file and click Save. I want the macro to automatically name the file with the contents of cell Z1. I then want it to then automatically press enter. Any ideas where I'm going wrong? Any help would be much appreciated!


i've got the following problem:

I want users to double-click on a row on a protected sheet and then do some code based on the row-number of the clicked cell. I've protected the sheet because it contains a lot of formula's.

When a user double-clicks a row it triggers the code through the Workbook_SheetBeforeDoubleClick event.
After the code is executed Excel shows a message that the cell that was clicked was protected etc etc.

How can I prevent this message from popping up?

I've already tried

application.displaywarnings = false

but that didn't work


Hi all,

I hope you can help me with what I would like to do. I've searched and searched and not come up with anything yet!!

I have one sheet which is my 'data' sheet with a number of columns, one of which is a date which may be repeated.

I then want to use another sheet with two cells where two dates can be entered and a button which allows you to copy the rows of data from the data sheet which have dates between the two specified originally. The list in the data sheet may not be in date order although I could update a macro to do this for me if needed. I would also like to do it so that if "ALL" is typed in the date fields, it pulls over ALL the data. (Or something similar)

Any help you can give would be much appreciated.



Hello, I am pretty new to excel programming/messing around so I'll refer to those who are much wiser than I am. I am trying to set up a form for work, in this form I want to have a page with a bunch of cells pre-sized. What I want to do is when I insert a picture from a job site, that when this picture gets inserted, it will automatically resize to fit within the cell. I don't have time to manually resize dozens of pictures and if I could get this to work it would be awesome! I tried to search for an answer using the search function, but I kept getting a fatal error about allowable memory? Thanks in advance for you help!

This is probably an easy question for most of you, but it's killing me. I tried searching before I posted this, but the suggestions given didn't seem to work for me.

I need to look up data from a cell on one Excel sheet, compare it to a list on a 2nd sheet and when they equal, take a value from a different column on the 2nd sheet and drop it back on the 1st sheet. Since that's a horrible explanation, let me try explaining it this way:

Sheet 1
Column A has a long list of code type 1s
Column E has a long list of code type 2s

Sheet 2
Cell C2 has code 1
Cell E2 needs code 2

I know it should take an index/match function, but nothing I try is working. What I'm trying is the following formula in Cell E2 of sheet 2:

=INDEX('Sheet 1'!A:A,MATCH(C2,'Sheet 1"!E:E,0),5)

But all I get is no result. What's driving me bonkers is that if I copy everything over to a single sheet, that formula works fine.

Let's say, if two fields in one column has been filled with numerical
increament, i.e. A1 is 2 and A2 is 4. Now I want to fill the whole column
with this increament pattern till row A20. One thing we will all do is to
left click on the fill handle and drag it down to row A20. But if the task is
to fill to row 500, the mouse draging sometime won't be easy to locate the
row. I am wondering anyone can help me to find the keyboard shortcut
equivalent to that drag fill handle action.



Im working with a large data spreadsheet that has Yes and No answers in different columns. There are blanks within the selection too.
I need to calculate only the Yes.
I have tried using the filters in the Pivot Table field list and they are not working.
So now i'm trying to add a COUNTIF formula in the Calculated Fields section.
The formula I'm using is =Countif('Time limit extension'="yes") and i get the answer "too few."
What should I be using in the formula to get the calculated field to work? I have search the whole forum and I haven't found an answer that can help me.

Please HELP!!!

Related pages

excel cell drag not workingdelete duplicate rows excelruntime error 481how to unhide cells in excel 2010how to calculate deviation in excelconcatenate excel 2003excel vba option button valueenable macro excelstatistics symbols chartexcel macro buttonexcel macro passwordvba userform templatesgtin checkpace per mile calculatorcolorindex excelpercentage between two numbers excelvba noteshorse racing odds converterexcel graph macrostone to lb converterxls concatenateworkbooks activateexcel spreadsheets side by sidecountif in vbacalculating variance in excelautosum formulaxls file format not validtracematrixplot distribution in excelfootball fixtures generatorlistbox multicolumnexcel isna matchprorated calculator salarypivot table multiple rangesvba compile errorexcel vba recordset getrowshow to put not equal to in excel formulahow to calculate timesheet hours in excelcalculate debtor daysrun time error 438excel formulas not updating automaticallyexcel macro delete blank rowsrename shortcut keygantt chart vertical axishow to find duplicates in 2 excel spreadsheetsroster makerexcel multiply cellsthesaurus excelvba paste valuecreating calendars in excelcompare and merge workbooks excel 2010excel eigenvectorrun-time error 3146 odbc call failedlocking certain cells in excelmultiply formula excelhow to convert hours to minutes in excelutility tracking spreadsheetexcel checkbookcheckmark for excelps60 scalefootball pick em spreadsheetoledbconnectionexcel radar plotmachine shop schedulems access decompilecalculating meld scorefso createtextfilemulti column listbox vbaexcel colour codesstones to kilos convertexcel cannot scroll downexcel graphs secondary axisstone convert to kgtmp.cvrconvert hours and minutes to decimal excelcells can contain formulasbank interest calculation in excelexcel asciihow to calculate the discounted payback periodconverting kilograms to stonesmicrosoft date and time picker controlhow to insert multiple rows in excel 2007