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

Вход

Регистрация

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

 

= Мир MS Excel/Адресная книга - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Адресная книга (Макросы/Sub)
Адресная книга
OIU Дата: Четверг, 22.10.2015, 16:10 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Буду признателен, если кто-нибудь подредактирует макрос. (Сам пробовал, но так как не понимаю всех функций, желаемого результата так и не удалось достичь.)
Имеем:
В форме "Телефон" выпадающий список ComboBox, после выбора значения, появляются остальные значения формы.
Нужно:
В форме "Телефон" Обычная форма ввода TextBox. Чтобы после выбора "Организация/имя" и ввода искомого номера в форму "телефон", происходило то-же что и при выборе номера из списка. (если можно, то допустим нажатием на кнопку "Найти", если нет, то нажатием "Enter").

Имеем: После нажатия на кнопку "Create", в форме "Организация/имя" выпадающий список становится обычным полем.
Нужно: После нажатия на кнопку "Create" оставить выпадающий список и возможность выбора значений для него.

Имеем: форма "E-mail" - обычное поле для ввода.
Нужно: Выпадающий список с данными со второго листа, из таблицы "статусы" с возможностью выбора значения как в состоянии добавления так и в состоянии поиска.

P.S. Изначально выпадающий список для формы "Организация/имя" в файле "9463682", формировался из первого столбца таблицы "Phonebook", в файле "1" формируется именно из него.
Заранее всем огромное спасибо!!!
К сообщению приложен файл: 9463682.xlsm (33.2 Kb) · _1.xlsm (42.3 Kb)


С уважением Евгений Ковель

Сообщение отредактировал OIU - Четверг, 22.10.2015, 18:39
 
Ответить
СообщениеБуду признателен, если кто-нибудь подредактирует макрос. (Сам пробовал, но так как не понимаю всех функций, желаемого результата так и не удалось достичь.)
Имеем:
В форме "Телефон" выпадающий список ComboBox, после выбора значения, появляются остальные значения формы.
Нужно:
В форме "Телефон" Обычная форма ввода TextBox. Чтобы после выбора "Организация/имя" и ввода искомого номера в форму "телефон", происходило то-же что и при выборе номера из списка. (если можно, то допустим нажатием на кнопку "Найти", если нет, то нажатием "Enter").

Имеем: После нажатия на кнопку "Create", в форме "Организация/имя" выпадающий список становится обычным полем.
Нужно: После нажатия на кнопку "Create" оставить выпадающий список и возможность выбора значений для него.

Имеем: форма "E-mail" - обычное поле для ввода.
Нужно: Выпадающий список с данными со второго листа, из таблицы "статусы" с возможностью выбора значения как в состоянии добавления так и в состоянии поиска.

P.S. Изначально выпадающий список для формы "Организация/имя" в файле "9463682", формировался из первого столбца таблицы "Phonebook", в файле "1" формируется именно из него.
Заранее всем огромное спасибо!!!

Автор - OIU
Дата добавления - 22.10.2015 в 16:10
OIU Дата: Суббота, 24.10.2015, 07:53 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Внесу некоторые корректировки, во избежание дальнейших недоразумений.
В области "Организация/имя" данные из таблицы "названия", должны использоваться только для добавления новых записей и для отображения информации остальных информационных полей при совпадении имени и номера телефона.
Редактирование внесенных в таблицу данных о названии фирмы и номере телефона, должно быть допустимо только один раз через форму, т.е. только при добавлении новых данных.
Было бы прекрасно, если до того как найдено совпадение имени и номера, отображались только поля "имени организации" и "номера телефона".
Поле "Email", при совпадении "имени организации" и "номера телефона", должно отображать информацию из таблицы "Phonebook", а выпадающий список для него должен быть из таблицы "Статусы".
Сейчас, не работает добавление новых данных, не корректно работает поле Email, после нажатия на кнопку сохранить, пропадает поле "телефон".
Форматирование ячеек таблицы не нужно задавать макросом, так-как в ячейках таблицы в дальнейшем планируется прописывать формулы (вот только мне не известно... в полях формы при этом будут отображаться результаты вычисления формулы или сама формула?). И если вам не сложно, то подпишите комментарием какие строки отвечают за возможность отключения возможности ввода данных в поля текстовых форм.
т.е. чтобы данные в форме из ячейки отображались, а редактировать их нельзя в поле формы.
Ну вроде всё. Наверное я прошу не возможного...
К сообщению приложен файл: __re.xlsm (37.0 Kb)


С уважением Евгений Ковель
 
Ответить
СообщениеВнесу некоторые корректировки, во избежание дальнейших недоразумений.
В области "Организация/имя" данные из таблицы "названия", должны использоваться только для добавления новых записей и для отображения информации остальных информационных полей при совпадении имени и номера телефона.
Редактирование внесенных в таблицу данных о названии фирмы и номере телефона, должно быть допустимо только один раз через форму, т.е. только при добавлении новых данных.
Было бы прекрасно, если до того как найдено совпадение имени и номера, отображались только поля "имени организации" и "номера телефона".
Поле "Email", при совпадении "имени организации" и "номера телефона", должно отображать информацию из таблицы "Phonebook", а выпадающий список для него должен быть из таблицы "Статусы".
Сейчас, не работает добавление новых данных, не корректно работает поле Email, после нажатия на кнопку сохранить, пропадает поле "телефон".
Форматирование ячеек таблицы не нужно задавать макросом, так-как в ячейках таблицы в дальнейшем планируется прописывать формулы (вот только мне не известно... в полях формы при этом будут отображаться результаты вычисления формулы или сама формула?). И если вам не сложно, то подпишите комментарием какие строки отвечают за возможность отключения возможности ввода данных в поля текстовых форм.
т.е. чтобы данные в форме из ячейки отображались, а редактировать их нельзя в поле формы.
Ну вроде всё. Наверное я прошу не возможного...

Автор - OIU
Дата добавления - 24.10.2015 в 07:53
Pelena Дата: Суббота, 24.10.2015, 13:08 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Частично сделала, проверьте, так хотели?
К сообщению приложен файл: _re.xlsm (38.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЧастично сделала, проверьте, так хотели?

Автор - Pelena
Дата добавления - 24.10.2015 в 13:08
OIU Дата: Суббота, 24.10.2015, 13:18 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Частично сделала, проверьте, так хотели?

Я извиняюсь за нетерпение... но полагаю что еще будет продолжение? pray


С уважением Евгений Ковель

Сообщение отредактировал OIU - Суббота, 24.10.2015, 14:10
 
Ответить
Сообщение
Частично сделала, проверьте, так хотели?

Я извиняюсь за нетерпение... но полагаю что еще будет продолжение? pray

Автор - OIU
Дата добавления - 24.10.2015 в 13:18
Pelena Дата: Суббота, 24.10.2015, 13:22 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Какую ошибку? На какой строке?

Ну, уж источник-то данных можете сами поменять ;)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКакую ошибку? На какой строке?

Ну, уж источник-то данных можете сами поменять ;)

Автор - Pelena
Дата добавления - 24.10.2015 в 13:22
OIU Дата: Суббота, 24.10.2015, 13:28 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Какую ошибку? На какой строке?

[vba]
Код
Private Sub tbTelefonFirma_Change()
    [color=red]nr = GetRowNumber(cbFirma.Value, tbTelefonFirma.Value)[/color]

    If nr <> -1 Then
        SetFormValues (nr)
        lblNenaiden.Visible = False
    Else
        lblNenaiden.Visible = True
    End If

End Sub
[/vba]
Ну, уж источник-то данных можете сами поменять

Я пробовал менять, но дело в том что не знаю какой код отвечает за изменение данных. :(


С уважением Евгений Ковель

Сообщение отредактировал OIU - Суббота, 24.10.2015, 13:30
 
Ответить
Сообщение
Какую ошибку? На какой строке?

[vba]
Код
Private Sub tbTelefonFirma_Change()
    [color=red]nr = GetRowNumber(cbFirma.Value, tbTelefonFirma.Value)[/color]

    If nr <> -1 Then
        SetFormValues (nr)
        lblNenaiden.Visible = False
    Else
        lblNenaiden.Visible = True
    End If

End Sub
[/vba]
Ну, уж источник-то данных можете сами поменять

Я пробовал менять, но дело в том что не знаю какой код отвечает за изменение данных. :(

Автор - OIU
Дата добавления - 24.10.2015 в 13:28
Pelena Дата: Суббота, 24.10.2015, 13:36 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Какая именно ошибка?

У меня без ошибок отрабатывает. Попробуйте заменить tbTelefonFirma.Value на tbTelefonFirma.Text


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКакая именно ошибка?

У меня без ошибок отрабатывает. Попробуйте заменить tbTelefonFirma.Value на tbTelefonFirma.Text

Автор - Pelena
Дата добавления - 24.10.2015 в 13:36
OIU Дата: Суббота, 24.10.2015, 13:44 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Какая именно ошибка?

Скрин приложил.
Попробуйте заменить tbTelefonFirma.Value на tbTelefonFirma.Text

Менял, не помогло. То-же самое.
К сообщению приложен файл: 7771872.png (18.8 Kb)


С уважением Евгений Ковель
 
Ответить
Сообщение
Какая именно ошибка?

Скрин приложил.
Попробуйте заменить tbTelefonFirma.Value на tbTelefonFirma.Text

Менял, не помогло. То-же самое.

Автор - OIU
Дата добавления - 24.10.2015 в 13:44
Pelena Дата: Суббота, 24.10.2015, 13:50 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Посмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них. А лучше приложите скрин


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПосмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них. А лучше приложите скрин

Автор - Pelena
Дата добавления - 24.10.2015 в 13:50
OIU Дата: Суббота, 24.10.2015, 13:56 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Посмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них. А лучше приложите скрин

Скрин приложил
К сообщению приложен файл: 3545142.png (95.8 Kb)


С уважением Евгений Ковель
 
Ответить
Сообщение
Посмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них. А лучше приложите скрин

Скрин приложил

Автор - OIU
Дата добавления - 24.10.2015 в 13:56
Pelena Дата: Суббота, 24.10.2015, 14:00 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Снимите галку около MISSING, нажмите ОК и попробуйте ещё раз запустить форму


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСнимите галку около MISSING, нажмите ОК и попробуйте ещё раз запустить форму

Автор - Pelena
Дата добавления - 24.10.2015 в 14:00
OIU Дата: Суббота, 24.10.2015, 14:01 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Посмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них.

Снял, заработало.


С уважением Евгений Ковель
 
Ответить
Сообщение
Посмотрите в меню Tools -- References, нет ли у Вас ошибок MISSING
Если есть, снимите галки около них.

Снял, заработало.

Автор - OIU
Дата добавления - 24.10.2015 в 14:01
OIU Дата: Суббота, 24.10.2015, 14:24 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Снимите галку около MISSING, нажмите ОК и попробуйте ещё раз запустить форму

Всё заработало! Вы бесподобны! Спасибо вам огромное!!! Мне вот только вообще не понятно какой макрос формирует список статусов для выпадающего списка "Email"... Слово "статусы" вообще нигде не встречается. %)


С уважением Евгений Ковель
 
Ответить
Сообщение
Снимите галку около MISSING, нажмите ОК и попробуйте ещё раз запустить форму

Всё заработало! Вы бесподобны! Спасибо вам огромное!!! Мне вот только вообще не понятно какой макрос формирует список статусов для выпадающего списка "Email"... Слово "статусы" вообще нигде не встречается. %)

Автор - OIU
Дата добавления - 24.10.2015 в 14:24
Pelena Дата: Суббота, 24.10.2015, 14:52 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Изменила источники списков. За заполнение списков отвечает макрос FillComboBox
К сообщению приложен файл: 2154695.xlsm (41.9 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеИзменила источники списков. За заполнение списков отвечает макрос FillComboBox

Автор - Pelena
Дата добавления - 24.10.2015 в 14:52
OIU Дата: Суббота, 24.10.2015, 15:04 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
За заполнение списков отвечает макрос FillComboBox

Вот теперь видно, а до этого я весь код просмотрел и не видно нигде было названия таблицы для статусов. hands
А случайно не вам изначально принадлежит эта форма?
И если вам не сложно, то подпишите комментарием (или пропишите код) какие строки отвечают за возможность отключения возможности ввода данных в поля текстовых форм. Это нужно будет для тех ячеек, в которых будут формулы.
На этом конечно моя идея не заканчивается... Но наглеть не буду. flowers


С уважением Евгений Ковель
 
Ответить
Сообщение
За заполнение списков отвечает макрос FillComboBox

Вот теперь видно, а до этого я весь код просмотрел и не видно нигде было названия таблицы для статусов. hands
А случайно не вам изначально принадлежит эта форма?
И если вам не сложно, то подпишите комментарием (или пропишите код) какие строки отвечают за возможность отключения возможности ввода данных в поля текстовых форм. Это нужно будет для тех ячеек, в которых будут формулы.
На этом конечно моя идея не заканчивается... Но наглеть не буду. flowers

Автор - OIU
Дата добавления - 24.10.2015 в 15:04
Pelena Дата: Суббота, 24.10.2015, 15:09 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
А просто удалить эти поля с формы не вариант?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеА просто удалить эти поля с формы не вариант?

Автор - Pelena
Дата добавления - 24.10.2015 в 15:09
OIU Дата: Суббота, 24.10.2015, 15:14 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
А просто удалить эти поля с формы не вариант?

А данные, которые лежат в ячейках для этих форм, где будут отображаться? Я думал что можно их сделать не активными для редактирования... т.е. данные в них отображаются, но изменять их через форму нельзя. Как-то так.


С уважением Евгений Ковель
 
Ответить
Сообщение
А просто удалить эти поля с формы не вариант?

А данные, которые лежат в ячейках для этих форм, где будут отображаться? Я думал что можно их сделать не активными для редактирования... т.е. данные в них отображаются, но изменять их через форму нельзя. Как-то так.

Автор - OIU
Дата добавления - 24.10.2015 в 15:14
Pelena Дата: Суббота, 24.10.2015, 15:16 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Ну, тогда свойство Enabled=False, наверное
Например, в макрос UserForm_Initialize вставить
[vba]
Код
tbAdresFirma.Enabled = False
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНу, тогда свойство Enabled=False, наверное
Например, в макрос UserForm_Initialize вставить
[vba]
Код
tbAdresFirma.Enabled = False
[/vba]

Автор - Pelena
Дата добавления - 24.10.2015 в 15:16
OIU Дата: Суббота, 24.10.2015, 15:28 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 3 ±
Замечаний: 0% ±

Excel 2013
Ну, тогда свойство Enable=False, наверное

Да, это то что нужно! Вот только запись в поле становится тусклой. Где изменять цвет, я не нашел. То что пробовал менять в свойствах объекта, не помогло.


С уважением Евгений Ковель
 
Ответить
Сообщение
Ну, тогда свойство Enable=False, наверное

Да, это то что нужно! Вот только запись в поле становится тусклой. Где изменять цвет, я не нашел. То что пробовал менять в свойствах объекта, не помогло.

Автор - OIU
Дата добавления - 24.10.2015 в 15:28
RAN Дата: Суббота, 24.10.2015, 15:31 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
отображаются, но изменять их через форму нельзя

tbAdresFirma.Enabled = False
[vba]
Код
Locked = True
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
отображаются, но изменять их через форму нельзя

tbAdresFirma.Enabled = False
[vba]
Код
Locked = True
[/vba]

Автор - RAN
Дата добавления - 24.10.2015 в 15:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Адресная книга (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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