![]() |
Auto adjusting a user form
Hi,
Below is some code that populates a list box with the used range of a worksheet and puts check boxes next to them. How can I adjust this code to: Show the first line as a header row (no check boxes) Is it possible to auto adjust the row height or make the text wrap inside the list box? Basically, some of the cells in the worksheet contain a lot of text that wraps in the cell and I would like it to do the same inside the list box. Thanks Private Sub UserForm_Initialize() Dim ColCnt As Integer Dim rng As Range Dim cw As String Dim c As Integer ColCnt = ActiveSheet.UsedRange.Columns.Count Set rng = ActiveSheet.UsedRange With ListBox1 .ColumnCount = ColCnt .RowSource = rng.Address cw = "" For c = 1 To .ColumnCount cw = cw & rng.Columns(c).Width & ";" Next c .ColumnWidths = cw .ListIndex = 0 End With End Sub |
Auto adjusting a user form
David,
The RowSource address for the list box must exclude the header row. The ColumnHeads property for the list box must be set to True. I don't know of anyway to adjust the height of the list box rows. Regards, Jim Cone San Francisco, USA '----------------------- Private Sub UserForm_Initialize() Dim ColCnt As Integer Dim rng As Range Dim cw As String Dim c As Integer ColCnt = ActiveSheet.UsedRange.Columns.Count Set rng = ActiveSheet.UsedRange Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1) With ListBox1 .ColumnCount = ColCnt .RowSource = rng.Address(external:=True) For c = 1 To .ColumnCount cw = cw & rng.Columns(c).Width & ";" Next c .ColumnWidths = cw .ListIndex = 0 End With Set rng = Nothing End Sub '------------------------ "David Looney" wrote in message Hi, Below is some code that populates a list box with the used range of a worksheet and puts check boxes next to them. How can I adjust this code to: Show the first line as a header row (no check boxes) Is it possible to auto adjust the row height or make the text wrap inside the list box? Basically, some of the cells in the worksheet contain a lot of text that wraps in the cell and I would like it to do the same inside the list box. Thanks Private Sub UserForm_Initialize() Dim ColCnt As Integer Dim rng As Range Dim cw As String Dim c As Integer ColCnt = ActiveSheet.UsedRange.Columns.Count Set rng = ActiveSheet.UsedRange With ListBox1 .ColumnCount = ColCnt .RowSource = rng.Address cw = "" For c = 1 To .ColumnCount cw = cw & rng.Columns(c).Width & ";" Next c .ColumnWidths = cw .ListIndex = 0 End With End Sub |
All times are GMT +1. The time now is 12:43 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com