![]() |
How to align decimals in a Listbox
I would like to have a column in a list box that contains numbers with
decimals and have the decimals aligned. Another column has text that should be left aligned. Is there ANY way to do this. A similar question: Can I apply the format of the cells in the worksheet to the "same" "cells" in the list box? (If the contents of cell A6 is displayed in a listbox, I would like the format of cell A6 to be used.) Many thanks. |
How to align decimals in a Listbox
Can you use a non-proportional font--like Courier New?
If yes... I created a small userform with a listbox and a couple of command buttons in it. And used a two column range and formatted the second column by specifying a numberformat and adding some leading spaces. Option Explicit Private Sub CommandButton1_Click() Dim iCtr As Long With Me.ListBox1 For iCtr = 0 To .ListCount - 1 If .Selected(iCtr) Then MsgBox .List(iCtr, 0) & "--" & CDbl(.List(iCtr, 1)) End If Next iCtr End With End Sub Private Sub CommandButton2_Click() Unload Me End Sub Private Sub UserForm_Initialize() Dim myRng As Range Dim myCell As Range With Worksheets("Sheet1") Set myRng = .Range("a1:b10") End With With Me.ListBox1 .MultiSelect = fmMultiSelectMulti .ColumnCount = myRng.Columns.Count .Font = "Courier New" For Each myCell In myRng.Columns(1).Cells .AddItem myCell.Value .List(.ListCount - 1, 1) = NicelySpaced(myCell.Offset(0, 1).Value) Next myCell End With With Me.CommandButton1 .Caption = "Ok" .Default = True End With With Me.CommandButton2 .Caption = "Cancel" .Cancel = True End With End Sub Function NicelySpaced(myVal As Double) As String Dim myStr As String Dim HowWide As Long HowWide = 15 myStr = Format(myVal, "#,###.####") myStr = Right(Space(HowWide) & myStr, HowWide) NicelySpaced = myStr End Function wrote: I would like to have a column in a list box that contains numbers with decimals and have the decimals aligned. Another column has text that should be left aligned. Is there ANY way to do this. A similar question: Can I apply the format of the cells in the worksheet to the "same" "cells" in the list box? (If the contents of cell A6 is displayed in a listbox, I would like the format of cell A6 to be used.) Many thanks. -- Dave Peterson |
How to align decimals in a Listbox
1. You need to format the numbers into a string and then put them onto to the
list box. ie: s = Format(1.22223, "#,##0.00") You may then need to pad the left had side and there are always problems with bigger numbers. For the text you need to pad it with spaces. (ie check the length with len() and then add spaces in the right hand side. 2. As seen in the format function you can use the same formats as the cells. -- Hope this helps Martin Fishlock, www.nyfconsultants.com, Bangkok, Thailand Please do not forget to rate this reply. " wrote: I would like to have a column in a list box that contains numbers with decimals and have the decimals aligned. Another column has text that should be left aligned. Is there ANY way to do this. A similar question: Can I apply the format of the cells in the worksheet to the "same" "cells" in the list box? (If the contents of cell A6 is displayed in a listbox, I would like the format of cell A6 to be used.) Many thanks. |
All times are GMT +1. The time now is 12:05 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com