powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Действия с OptionButton
16 сообщений из 16, страница 1 из 1
Действия с OptionButton
    #37925250
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, профессионалы.
Помогите решить следующую задачку.

При выборе, на форме, соответствующего OptionButton (1, 2 или 3),
в строку где находится активная ячейка, после нажатия на кнопку «Сохранить»,
в столбец соответствующей определенной группе записывалось бы «1», «2» или «3»

Если данные в столбцах B:K записаны, то при открытии формы данные
отображались но была возможность редактирования, а также при необходимости
можно было бы все переместить на «1» или на «2»
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925280
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам нужна именно немодальная форма? Потому что в этом случае пользователь может переместить указатель, и ActiveCell сменится - что тогда делать?
Количество "столбцов NN" может меняться? Количество OptionButton в группе может меняться? OptionGroup (Frame), состоящая из OptionButton - всегда только связывает значение выбора с ячейкой? Группы всегда одинаковые для любых столбцов?
Почему вам необходимо разбивать значения по столбцам, нельзя ли набор значений хранить в одной переменной (хотя это не сильно принципиально; впрочем, возиться с пользовательским типом или классом - как-то не хочется...)
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925289
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам нужна именно немодальная форма? Потому что в этом случае пользователь может переместить указатель, и ActiveCell сменится - что тогда делать? - Да Вы правы, нужна модальная

Количество "столбцов NN" может меняться? - это пример, их будет больше, если точнее, то 60
Количество OptionButton в группе может меняться? - нет
OptionGroup (Frame), состоящая из OptionButton - всегда только связывает значение выбора с ячейкой? - да
Группы всегда одинаковые для любых столбцов? - да
Почему вам необходимо разбивать значения по столбцам, нельзя ли набор значений хранить в одной переменной - а вот здесь я не совсем поняла Вашу идею

На всякий случай добавлю.
Может есть еще какая нибудь идея решения задачи,
дело в том что если сделать такую форму для работы с 60-ю столбцами, я так понимаю она будет перенасыщена и больше чем не много, притормаживается особенно при открытии
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925382
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна...Почему вам необходимо разбивать значения по столбцам, нельзя ли набор значений хранить в одной переменной - а вот здесь я не совсем поняла Вашу идею
...
дело в том что если сделать такую форму для работы с 60-ю столбцами, я так понимаю она будет перенасыщена и больше чем не много, притормаживается особенно при открытииПросто можно, например,хранить одну строку (типа: "12011023001....", или число, или битовую маску...), где каждая цифра - значение соответствующей группы опций, и обрабатывать именно её. Т.е. при открытии формы - считываем значения опций из одной переменной, при сохранении - формируем и возвращаем эту переменную. А лист работает уже только с этой переменной.

Чтобы форма не "притормаживала" - пользуйтесь Show/Hide, а не Load/Unload. Конечно, при этом во время работы - объект будет находиться в памяти, но это - небольшая плата за быстродействие.

Если элементов будет много - можно на форме сделать Frame со скроллингом, или использовать какой-нибудь список - тот же MSFlexGrid с OptionButtons в качестве полей.

С другой стороны, а зачем вам вообще нужна UserForm? Можно ведь сделать (ИМХО) проще - просто копировать нужную строку, например, в начало листа (в первую строчку), править там, затем записывать обратно. "Массовая" замена значений на 1 или 2 тоже проблем не представляет. Можно также при этом поэкспериментировать с условным форматированием в этой первой строчке - для подсвечивания изменений и т.п...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925403
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, спасибо большое за советы.
Дайте пожалуйста ссылки где есть такие примеры, мой поиск не дал результатов.
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925474
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна...Дайте пожалуйста ссылки где есть такие примеры, мой поиск не дал результатов.Ну-у-у...
Зачем искать чужое? Вот вам примерчик, как можно сделать без UserForm 'ы для редактирования...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925476
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь... Забыл проверку данных добавить...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37925479
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, ночь на дворе... торможу...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37927096
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, спасибо вам большое

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

Но тем не менее, еще раз спасибо вам за помощь
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37927226
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна...,

Я могу сделать и пример с вашей формой. Вот только смысла в нем еще меньше, чем в вышеприведенном примере. Я, конечно, знаю, как вашу форму запрограммировать быстро и с минимумом кода, причем динамически создавая её, а не проектируя в VBE. Но даже в этом случае - это лишние затраты времени на разработку интерфейса, который, ИМХО, будет менее удобен пользователю...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37928803
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, здравствуйте.

Поражаюсь вашему терпению.
Читая форум, уже много раз убеждаюсь, что таких людей можно по пальцам пересчитать.
Многие бы после первой попытки помочь, если бы она не устраивала ТС, прекратили бы дальнейшее общение.

Попробую рискнуть
AndreTM, если у вас есть возможность помочь и реализовать именно то что я прошу, помогите пожалуйста.
Моих знаний не достаточно.
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37928898
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что же... Попробуйте потыркать в такой пример...
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37930262
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, классно.

Разрешите вас еще помучить.

Разобралась, как мне кажется, со всеми отступами сверху, слева в frmFrmContainer
но не могу разобраться как поменять местами заголовок столбцов (cRowTitle) с OptionButton
чтобы сначала было OptionButton, а потом заголовок столбцов.

И последнее:
Если вас не затруднит, можно еще в дополнении увидеть такой же пример но без участия frmFrmContainer

Большое вам спасибо.
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37930265
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, забыла добавить
если можно, оставьте комментарии в коде
я только учусь
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37930560
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна...но не могу разобраться как поменять местами заголовок столбцов (cRowTitle) с OptionButton
чтобы сначала было OptionButton, а потом заголовок столбцов.
Легко...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
...
    For Each c In Rows(nRowTitle).Cells
        If Left(c.Value, Len(cRowTitle)) = cRowTitle Then
            
            For i = 1 To 3
                Set oControl = frmFrmContainer.Controls.Add("Forms.OptionButton.1", "opt" & nControl & "-" & i, True)
                With oControl
                    .Caption = i
                    .Left = 6 + (i - 1) * 24
                    .Top = nTop - 3
                    .GroupName = "optGroup" & nControl
                End With
            Next
            
            Set oControl = frmFrmContainer.Controls.Add("Forms.Label.1", "lbl" & nControl, True)
            With oControl
                .Caption = c.Value
                .Left = 72 + 6
                .Top = nTop
                .Tag = c.Column
            End With
                
            nTop = nTop + 12
            
            Set oControl = Nothing
            
        End If
        nControl = nControl + 1
    Next
...

Татьяна...Если вас не затруднит, можно еще в дополнении увидеть такой же пример но без участия frmFrmContainerВ смысле? Фрейм я создаю специально, чтобы сделать скроллинг опций. А то 60 столбцов просто не влезут на форму, какая бы она ни была. Хотя, если вы действительно желаете видеть все названия сразу...
Кстати, вы пробовали менять наименования столбцов и строк в примере?

Что же касается комментариев...
Дело в том, что а уже больше половины жизни программирую. И для меня код сам по себе является комментарием самому себе А вот записывать пояснения действий для каждой строки кода - уж увольте
Просто почитайте хелп по тем командам, которые вам неясны...

С другой стороны, если вам действительно что-то не совсем понятно в коде - общайтесь через личку, ибо скайп и ася у меня почти всегда активны (в рабочее время).
...
Рейтинг: 0 / 0
Действия с OptionButton
    #37930692
Татьяна...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMКстати, вы пробовали менять наименования столбцов и строк в примере?

Здравствуйте.
Да, пробовала, с этим я разобралась.
а по поводу
AndreTMХотя, если вы действительно желаете видеть все названия сразу...
Мне интересен сам код для получения образования (на будущее)
Сегодня обязательно напишу вам в личку.

Тема закрыта.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Действия с OptionButton
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]