Всем доброго здравия! Подскажите, пожалуйста! Можно ли такое сотворить - заполнить листбокс из диапазона, но если столб скрыт, то в листбоксе его ширина =0? Или сначала заполнить ЛистБокс, а потом проверить на скрытые столбцы в диапазоне, если да, то в Листбоксе его ширина=0
ColumnWidths надо указывать ширину каждого столбца может есть, что-то типа : [vba]
Код
Me.ListBox.Column(5).ColumnWidths = 0
[/vba] - но такое вба не пускает 381 ошибка - инвалид колумн проперти
А может есть способ заставить ЛистБокс НЕ ПОКАЗЫВАТЬ скрытые столбцы или строки?
Спасибо!!!
Всем доброго здравия! Подскажите, пожалуйста! Можно ли такое сотворить - заполнить листбокс из диапазона, но если столб скрыт, то в листбоксе его ширина =0? Или сначала заполнить ЛистБокс, а потом проверить на скрытые столбцы в диапазоне, если да, то в Листбоксе его ширина=0
ColumnWidths надо указывать ширину каждого столбца может есть, что-то типа : [vba]
Код
Me.ListBox.Column(5).ColumnWidths = 0
[/vba] - но такое вба не пускает 381 ошибка - инвалид колумн проперти
А может есть способ заставить ЛистБокс НЕ ПОКАЗЫВАТЬ скрытые столбцы или строки?
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
[/vba]
В нем не надо разделять строку а потом собирать! Тут сразу пишется строка с шириной колонки листа
Мож.кому пригодится!
Спасибо bmv98rus за помощь! Вашу идею тоже надо взять на вооружение!
Нарыл еще вот такой код [vba]
Код
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
[/vba]
В нем не надо разделять строку а потом собирать! Тут сразу пишется строка с шириной колонки листа
Мож.кому пригодится!
Спасибо bmv98rus за помощь! Вашу идею тоже надо взять на вооружение!urlchik
Век живи - век учись!
Сообщение отредактировал urlchik - Воскресенье, 07.04.2019, 10:32
urlchik, конечно я давал ответ предполагая, что и количество отображаемых столбцов и их размер предопределен и надо просто скрыть один из них. В случае когда все набирается с нуля , как в том примере, что вы нашли, то делить нечего.
urlchik, конечно я давал ответ предполагая, что и количество отображаемых столбцов и их размер предопределен и надо просто скрыть один из них. В случае когда все набирается с нуля , как в том примере, что вы нашли, то делить нечего.bmv98rus
Замечательный Временно просто медведь , процентов на 20.