FREE Excel STUFF
SearchSearch Excel Content
Excel Help. Popular
NEW! Multiple Excel Search & Links
Excel Formulas
Excel Macros
Excel Newsletter
PRODUCTS
Up to $139.00 FREE!
Categories & SearchSearch for software
Excel Templates
Excel Add-ins
Excel Training
More....
OTHER
Excel Development

Move ListBox Items Up & Down

Information Helpful? Why Not Donate.

TRY OUT: Smart-VBA | Code-VBA | Analyzer-XL | Downloader-XL | Trader-XL | More Free Downloads.. Best Value: Finance Templates Bundle

Current Special! Complete Excel Excel Training Course for Excel 97 - Excel 2003, only $145.00. $59.95 Instant Buy/Download, 30 Day Money Back Guarantee & Free Excel Help for LIFE!

Back to: Excel VBA . Got any Excel/VBA Questions? Free Excel Help

Change Order Of List Box Values

Download Example

Add 2 CommandButtons to your UserForm and Name them MoveUp and MoveDown. Then, use the RowSource Property of the Multi Column ListBox to fill the ListBox with a Named Range. Ensure this named range has headings BUT are no included in the range name definition. Set the ColumnHeads Property of the ListBox to True and the ColumnCount to as many columns as the named range has Columns. Set the ColumnWidths as needed.


Private Sub MoveDown_Click() 

    Dim lCurrentListIndex As Long 

    Dim strRowSource As String 

    Dim strAddress As String 

    Dim strSheetName As String 

     

     

    With ListBox1 

        If .ListIndex < 0 Or .ListIndex = .ListCount - 1 Then Exit Sub 

        lCurrentListIndex = .ListIndex + 1 

        strRowSource = .RowSource 

        strAddress = Range(strRowSource).Address 

        strSheetName = Range(strRowSource).Parent.Name 

        .RowSource = vbNullString 

        With Range(strRowSource) 

            .Rows(lCurrentListIndex).Cut 

            .Rows(lCurrentListIndex + 2).Insert Shift:=xlDown 

        End With 

         Sheets(strSheetName).Range(strAddress).Name = strRowSource 

        .RowSource = strRowSource 

        .Selected(lCurrentListIndex) = True 

    End With 

     

End Sub 

 

Private Sub MoveUp_Click() 

    Dim lCurrentListIndex As Long 

    Dim strRowSource As String 

    Dim strAddress As String 

    Dim strSheetName As String 

     

     

    With ListBox1 

        If .ListIndex < 1 Then Exit Sub 

        lCurrentListIndex = .ListIndex + 1 

        strRowSource = .RowSource 

        strAddress = Range(strRowSource).Address 

        strSheetName = Range(strRowSource).Parent.Name 

        .RowSource = vbNullString 

        With Range(strRowSource) 

            .Rows(lCurrentListIndex).Cut 

            .Rows(lCurrentListIndex - 1).Insert Shift:=xlDown 

        End With 

        Sheets(strSheetName).Range(strAddress).Name = strRowSource 

        .RowSource = strRowSource 

        .Selected(lCurrentListIndex - 2) = True 

    End With 

     

End Sub

Download Example

New & Less Than You Think: List Managers | Working With Excel Sheets In VBA | Excel Charting Lessons | Delete rows by condition | TRY OUT: Smart-VBA | Code-VBA | Analyzer-XL | Downloader-XL | Trader-XL | More Free Downloads.. Best Value: Finance Templates Bundle

Excel Dashboard Reports & Excel Dashboard Charts 50% Off Become an ExcelUser Affiliate & Earn Money

Special! Free Choice of Complete Excel Training Course OR Excel Add-ins Collection on all purchases totaling over $64.00. ALL purchases totaling over $150.00 gets you BOTH! Purchases MUST be made via this site. Send payment proof to special@ozgrid.com 31 days after purchase date.



Instant Download and Money Back Guarantee on Most Software

Try out: Analyzer XL | Downloader XL | Smart VBA | Trader XL Pro (best value) | ConsoXL | MergeXL | O2OLAP for Excel | MORE>>

Excel Trader Package Technical Analysis in Excel With $139.00 of FREE software!

Microsoft ® and Microsoft Excel ® are registered trademarks of Microsoft Corporation. OzGrid is in no way associated with Microsoft

GIVE YOURSELF OR YOUR COMPANY 24/7 MICROSOFT EXCEL SUPPORT & QUESTIONS