Добрый вечер! Столкнулся с проблемой след. типа. Есть ComboBox в нем список материалов, есть таблица откуда берется этот список материалов. Напротив каждого материала проставлена единица измерения. Пытаюсь в label получить данные из ячейки А1 в которой при помощи ВПР нахожу необходимое Ед. Изм. Хотя чувствую, что правильнее писать формулу в самом макросе, но пока знаний не хватает на это. С аналогичной ситуацией и с текстбоксом вопрос был решен так.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Address(0, 0) <> "F17" Then Exit Sub With Range("G19") Me.Multipage.Pages(0).label15.Caption = IIf(IsError(.Value), "no data", .Value) End With
End Sub
[/vba] С КомбоБоксом не получается сделать тоже самое. В чем скрыта ошибка?
Добрый вечер! Столкнулся с проблемой след. типа. Есть ComboBox в нем список материалов, есть таблица откуда берется этот список материалов. Напротив каждого материала проставлена единица измерения. Пытаюсь в label получить данные из ячейки А1 в которой при помощи ВПР нахожу необходимое Ед. Изм. Хотя чувствую, что правильнее писать формулу в самом макросе, но пока знаний не хватает на это. С аналогичной ситуацией и с текстбоксом вопрос был решен так.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Address(0, 0) <> "F17" Then Exit Sub With Range("G19") Me.Multipage.Pages(0).label15.Caption = IIf(IsError(.Value), "no data", .Value) End With
End Sub
[/vba] С КомбоБоксом не получается сделать тоже самое. В чем скрыта ошибка?Stormy
nilem, Приветствую. Вы правы, придется переходить на вариант с формами. Там возникает такой вопрос, как сделать, чтобы форма ( запуск формы привязан к открытию книги) была привязана к определенному месту на листе и пользователь не мог изменить местоположение формы?
nilem, Приветствую. Вы правы, придется переходить на вариант с формами. Там возникает такой вопрос, как сделать, чтобы форма ( запуск формы привязан к открытию книги) была привязана к определенному месту на листе и пользователь не мог изменить местоположение формы?Stormy
можно прямо в свойствах формы задать: StartUpPosition 0-Manual Top столько-то Left столько-то можно даже типа такого (при инициализации/активации) [vba]
Код
Me.Top=range("B10").top Me.Left=range("B10").Left
[/vba]
можно прямо в свойствах формы задать: StartUpPosition 0-Manual Top столько-то Left столько-то можно даже типа такого (при инициализации/активации) [vba]
nilem, Начал делать формы. Читая форум нашел пару сообщений где настоятельно рекомендуется использовать разные формы для ввода (если их несколько типов). Это к MultiPage тоже относится или MultiPage и является сборником разных форм и лучше использовать ее? Еще момент . Что лучше производить вычисления в ячейке Excel и в форму получать результат или непосредственно в макросе производить расчет по формуле. Что продуктивнее?
nilem, Начал делать формы. Читая форум нашел пару сообщений где настоятельно рекомендуется использовать разные формы для ввода (если их несколько типов). Это к MultiPage тоже относится или MultiPage и является сборником разных форм и лучше использовать ее? Еще момент . Что лучше производить вычисления в ячейке Excel и в форму получать результат или непосредственно в макросе производить расчет по формуле. Что продуктивнее?Stormy
Эххх... Теперь возникла проблема с значениями в Caption VBA не хочет понимать турецкий язык (( Что делать? Ставить турецкий пакет или можно как-то *легким путем* научить VBA понимать Unicode?
Эххх... Теперь возникла проблема с значениями в Caption VBA не хочет понимать турецкий язык (( Что делать? Ставить турецкий пакет или можно как-то *легким путем* научить VBA понимать Unicode?Stormy
Лучше "непосредственно в макросе производить расчет". Чем реже обращаемся из ВБА к ячейкам листа, тем лучше. По поводу формы сложно что-то посоветовать, все зависит от конкретной задачи. На мой взгляд лучше/проще, когда есть одна форма со всеми необходимыми эл-тами управл-я (контролами). В зависимости от ситуации часть контролов можно делать невидимыми (или заблокированными); можно изменить размеры формы, чтобы польз-лю показывать только нужный набор контролов; или перемещать эл-ты по форме и т.д., вариантов много. Кстати, можно использовать отдельный лист для ввода данных - просто вводим значения в ячейки, без всяких форм.
И еще. Раз уж вы на форуме, обращайтесь ко всем. Возможно, у кого-то есть интересное решение, а он такой:"Ну если обращаются к кому-то конкретно, то не покажу свое интересное решение!" как-то так
Лучше "непосредственно в макросе производить расчет". Чем реже обращаемся из ВБА к ячейкам листа, тем лучше. По поводу формы сложно что-то посоветовать, все зависит от конкретной задачи. На мой взгляд лучше/проще, когда есть одна форма со всеми необходимыми эл-тами управл-я (контролами). В зависимости от ситуации часть контролов можно делать невидимыми (или заблокированными); можно изменить размеры формы, чтобы польз-лю показывать только нужный набор контролов; или перемещать эл-ты по форме и т.д., вариантов много. Кстати, можно использовать отдельный лист для ввода данных - просто вводим значения в ячейки, без всяких форм.
И еще. Раз уж вы на форуме, обращайтесь ко всем. Возможно, у кого-то есть интересное решение, а он такой:"Ну если обращаются к кому-то конкретно, то не покажу свое интересное решение!" как-то так nilem