Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Глюк с ListBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Глюк с ListBox
DJ_Marker_MC Дата: Среда, 19.09.2012, 15:47 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Всем Добрый день. Мозг уже кипит. Не могу ничего сделать.
Есть док в котором 4 листа, в один из них внедрен ЛистБокс АктивХ. ListFillRange формирую с Диапазона в Диспетчере имён, LinkedCell указана. И вот проблема:

1. Закрываю документ, запускаю заново и не могу выбирать значения в листбоксе, перехожу на другой лист возвращаюсь назад и уже возможность выбора есть.
2. Размер Листбокса После закрытия и открытия документа меняется.

Помогите плис, я уже перечитал весь гугл и перетыцал всё что только можно было в свойствах.

ФАЙЛ В ПРИЛОЖЕНИИ
К сообщению приложен файл: 6214254.xlsm (42.7 Kb)
 
Ответить
СообщениеВсем Добрый день. Мозг уже кипит. Не могу ничего сделать.
Есть док в котором 4 листа, в один из них внедрен ЛистБокс АктивХ. ListFillRange формирую с Диапазона в Диспетчере имён, LinkedCell указана. И вот проблема:

1. Закрываю документ, запускаю заново и не могу выбирать значения в листбоксе, перехожу на другой лист возвращаюсь назад и уже возможность выбора есть.
2. Размер Листбокса После закрытия и открытия документа меняется.

Помогите плис, я уже перечитал весь гугл и перетыцал всё что только можно было в свойствах.

ФАЙЛ В ПРИЛОЖЕНИИ

Автор - DJ_Marker_MC
Дата добавления - 19.09.2012 в 15:47
Jhonson Дата: Среда, 19.09.2012, 16:20 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Может быть из-за того, что пользовательское имя Region совпадает с именем листа? Попробуйте переименовать лист.


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеМожет быть из-за того, что пользовательское имя Region совпадает с именем листа? Попробуйте переименовать лист.

Автор - Jhonson
Дата добавления - 19.09.2012 в 16:20
DJ_Marker_MC Дата: Среда, 19.09.2012, 16:27 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
уже пробовал, ничего не меняется.
Сейчас у меня файл с Именем листа Region, а имя Регион. Эфект тот же.
 
Ответить
Сообщениеуже пробовал, ничего не меняется.
Сейчас у меня файл с Именем листа Region, а имя Регион. Эфект тот же.

Автор - DJ_Marker_MC
Дата добавления - 19.09.2012 в 16:27
Jhonson Дата: Среда, 19.09.2012, 16:42 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Тогда попробуйте задать свойства ListBox при загрузке, например в модуль ЭтаКнига:
[vba]
Code
Private Sub Workbook_Open()
      Sheets("Распределение").ListBox1.ListFillRange = "Region"
End Sub
[/vba]
Что интересно, в 2003-м офисе такого глюка с этим элементом не возникает.


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Среда, 19.09.2012, 16:55
 
Ответить
СообщениеТогда попробуйте задать свойства ListBox при загрузке, например в модуль ЭтаКнига:
[vba]
Code
Private Sub Workbook_Open()
      Sheets("Распределение").ListBox1.ListFillRange = "Region"
End Sub
[/vba]
Что интересно, в 2003-м офисе такого глюка с этим элементом не возникает.

Автор - Jhonson
Дата добавления - 19.09.2012 в 16:42
DJ_Marker_MC Дата: Среда, 19.09.2012, 17:02 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Так то оно работает, но вторую проблему не решает, а именно при открытии меняет размеры листбокса на какие ему захочется, для того чтоб не меняло в свойствах листбокс есть IntegralHeight по умолчанию стоит True, если его поменять False то размеры меняться перестают, и перестаёт работать сам лист бокс при открытии, после того как открываю нужно переходить на другой лист, потом возвращаться на этот и лишь тогда всё работает.
 
Ответить
СообщениеТак то оно работает, но вторую проблему не решает, а именно при открытии меняет размеры листбокса на какие ему захочется, для того чтоб не меняло в свойствах листбокс есть IntegralHeight по умолчанию стоит True, если его поменять False то размеры меняться перестают, и перестаёт работать сам лист бокс при открытии, после того как открываю нужно переходить на другой лист, потом возвращаться на этот и лишь тогда всё работает.

Автор - DJ_Marker_MC
Дата добавления - 19.09.2012 в 17:02
DJ_Marker_MC Дата: Среда, 19.09.2012, 17:30 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Пока что решил проблему так, в ЭтаКнига

[vba]
Code
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
     Sheets("Отгрузка").Select
     Sheets("Распределение").Select
    Application.ScreenUpdating = True
End Sub
[/vba]

а IntegralHeight в свойствах листбокса поставил False чтоб не менялись размеры. Так работает как нужно, если кто знает более адекватное решение, буду благодарен.
 
Ответить
СообщениеПока что решил проблему так, в ЭтаКнига

[vba]
Code
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
     Sheets("Отгрузка").Select
     Sheets("Распределение").Select
    Application.ScreenUpdating = True
End Sub
[/vba]

а IntegralHeight в свойствах листбокса поставил False чтоб не менялись размеры. Так работает как нужно, если кто знает более адекватное решение, буду благодарен.

Автор - DJ_Marker_MC
Дата добавления - 19.09.2012 в 17:30
Jhonson Дата: Четверг, 20.09.2012, 08:10 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

marker_mc, так вы работайте со свойствами объекта!
при IntegralHeight=true
[vba]
Code
Private Sub Workbook_Open()
With Sheets("Распределение").ListBox1
     .ListFillRange = "Region"
     .Width = 130
     .Height = 170
     .Left = 1300
End With
End Sub
[/vba]


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщениеmarker_mc, так вы работайте со свойствами объекта!
при IntegralHeight=true
[vba]
Code
Private Sub Workbook_Open()
With Sheets("Распределение").ListBox1
     .ListFillRange = "Region"
     .Width = 130
     .Height = 170
     .Left = 1300
End With
End Sub
[/vba]

Автор - Jhonson
Дата добавления - 20.09.2012 в 08:10
DJ_Marker_MC Дата: Четверг, 20.09.2012, 10:57 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Jhonson, спасибо за подсказку, на будущее буду знать, но сейчас я решил отказаться от внедрения листбокса на лист и поместил листбокс на юзер формс))) глюков нет, симпатичнее и удобнее для использования.
 
Ответить
СообщениеJhonson, спасибо за подсказку, на будущее буду знать, но сейчас я решил отказаться от внедрения листбокса на лист и поместил листбокс на юзер формс))) глюков нет, симпатичнее и удобнее для использования.

Автор - DJ_Marker_MC
Дата добавления - 20.09.2012 в 10:57
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!