Страницы: 1
RSS
UserForm для MAC. Выпадающие списки.
 
Пишу простую форму ввода данных для MAC (в виндовс все работает).
Опишу свои ошибки и как часично их решил, а так же опишу возникшую проблему.

1) макрос писать только в отельном модуле. написать его в листе не вариант (у меня это была кнопка открытия макроса. перенес в отдельный модуль все зараработало).
2) выпадающие списки:
а) вариант первый - работает!!! Код располагается в форме ввода данных
Код
Private Sub UserForm_Activate()
    UserForm1.ComboBox1.AddItem "1 Бокс"
    UserForm1.ComboBox1.AddItem "2 Бокс"
    UserForm1.ComboBox1.AddItem "3 Бокс"
    UserForm1.ComboBox1.AddItem "4 Бокс"
    UserForm1.ComboBox1.AddItem "Ночная смена"
    UserForm1.ComboBox1.AddItem "Кафе"
End Sub
б) вариант второй - не работает. Код располагается в форме ввода данных
Выдает ошибку
"Ошибка выполнения 380"
не удалось установить свойство RowSource. Недопустимое значение свойства.
Код
Private Sub UserForm_Activate()
    UserForm1.ComboBox6.RowSource = "settings!O1:O8"
End Sub
в) вариант третий - не работает.
в свойстве ComboBox1
RowSource=settings!M1:M8 (ссылка на диапазон даных)

г) вариант четвертый- не работает.
в свойстве ComboBox1
RowSource =settings[settings] (ссылка на столбец из динамической таблицы)

Как задать диапазон ячеек (желательно динамической таблицы), чтобы список отражался в выпадающем списке?
Изменено: Kor - 16.09.2018 23:37:42
 
Попробуйте забрать диапазон в массив и этот массив скормите КомбоБоксу.
 
Попробуйте так
Код
UserForm1.ComboBox6.List = Sheets("settings").Range("O1:O8").Value
 
Колеги нашел выход из положеня.
Обозвал нужный диапазон как "Diapazon"
Далее в саму форму ввода данных написал код:
Код
Private Sub UserForm_Initialize()

    Dim aCell As Range

    For Each aCell In Range("Diapazon") 'Вариант4
        ComboBox1.AddItem (aCell.Value)
    Next

End Sub
Это реально работает!!!
Остальные варианты еще не пробывал. Тестировать варианты проблематично =( MAC не мой
 
Кстати. Вот что получается когда рабочая книга xl (которая работает корректно) высылается на MAC отрывается, изменяется и отправляется обратно  
 
Это известная нелюбовь МАС к кириллице. В коде, на форме вообще не применять кириллицу. Надписи или латиницей, или подтягивать из диапазона на листе.
 
Kor, возможно Вам будет интересно Совместимость макросов Excel для Windows и MacOS
 
vikttur,На маке работает корректно и все буквы нармальные, а вот еслии выслать обратно ...
 
Pelena, замечательная статья. Благодарю Вас.
 
Цитата
Kor написал: На маке работает корректно и все буквы нармальные, а вот еслии выслать обратно ...
Такой вот он подступный )
Страницы: 1
Наверх