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

Вход

Регистрация

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

 

= Мир MS Excel/Снять активность с формы - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Снять активность с формы
Снять активность с формы
pechkin Дата: Четверг, 10.11.2016, 15:49 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Здравствуйте! На этом форуме нашел макрос поиска данных через форму (Спасибо автору!) Немного переделал, но не получается следующее. По вводу буквы из формы Макрос выбирает из списка данные. Потом выбрав нужные в форме (имя) выделяет ячейку напротив выбора. Как "убрать активность" что-ли формы, для редактирования выделенной ячейки не кликая еще раз по ней мышем? Можно закрывать форму - тогда работает, но хотелось бы чтобы она оставалась. Спасибо!
К сообщению приложен файл: 6240831.xls(58Kb)
 
Ответить
СообщениеЗдравствуйте! На этом форуме нашел макрос поиска данных через форму (Спасибо автору!) Немного переделал, но не получается следующее. По вводу буквы из формы Макрос выбирает из списка данные. Потом выбрав нужные в форме (имя) выделяет ячейку напротив выбора. Как "убрать активность" что-ли формы, для редактирования выделенной ячейки не кликая еще раз по ней мышем? Можно закрывать форму - тогда работает, но хотелось бы чтобы она оставалась. Спасибо!

Автор - pechkin
Дата добавления - 10.11.2016 в 15:49
SLAVICK Дата: Четверг, 10.11.2016, 16:01 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
а зачем вообще на лист переходить?
можно же сразу в форму вбивать значения.
К сообщению приложен файл: 6614334.xls(84Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениеа зачем вообще на лист переходить?
можно же сразу в форму вбивать значения.

Автор - SLAVICK
Дата добавления - 10.11.2016 в 16:01
pechkin Дата: Четверг, 10.11.2016, 16:30 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Спасибо за ответ! Это пример. Там на листе много данных. Проще вводить данные сразу на лист, чтобы не усложнять форму результатами вычислений!


Сообщение отредактировал pechkin - Четверг, 10.11.2016, 16:30
 
Ответить
СообщениеСпасибо за ответ! Это пример. Там на листе много данных. Проще вводить данные сразу на лист, чтобы не усложнять форму результатами вычислений!

Автор - pechkin
Дата добавления - 10.11.2016 в 16:30
SLAVICK Дата: Четверг, 10.11.2016, 17:27 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
тогда не понятно зачем вам держать форму открытой?
В Вашем примере она и так не интерактивно открыта - можно редактировать ячейку. Попробуйте вместо
[vba]
Код
Unload Me
[/vba]
написать[vba]
Код
Me.Hide
[/vba]
тогда введенные данные формы и настройки сохраняются.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениетогда не понятно зачем вам держать форму открытой?
В Вашем примере она и так не интерактивно открыта - можно редактировать ячейку. Попробуйте вместо
[vba]
Код
Unload Me
[/vba]
написать[vba]
Код
Me.Hide
[/vba]
тогда введенные данные формы и настройки сохраняются.

Автор - SLAVICK
Дата добавления - 10.11.2016 в 17:27
pechkin Дата: Четверг, 10.11.2016, 17:45 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Вы правы, данные в форме сохраняются - но сама форма пропадает и ее нужно опять вызывать по нажатию кнопки.
Я думал , что возможно просто есть команда, заменяющая клик мыши по листу вверху или по выделенной уже ячейке, тогда форма как бы меняет цвет (неактивна что-ли) и ячейка свободно редактируется. Потом опять выбор из уже открытой формы и т.д.
 
Ответить
СообщениеВы правы, данные в форме сохраняются - но сама форма пропадает и ее нужно опять вызывать по нажатию кнопки.
Я думал , что возможно просто есть команда, заменяющая клик мыши по листу вверху или по выделенной уже ячейке, тогда форма как бы меняет цвет (неактивна что-ли) и ячейка свободно редактируется. Потом опять выбор из уже открытой формы и т.д.

Автор - pechkin
Дата добавления - 10.11.2016 в 17:45
berya Дата: Четверг, 10.11.2016, 19:18 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
pechkin, Доброе время суток - файл с примером. Надо поиграться с модальностью
К сообщению приложен файл: FormFun.xls(60Kb)
 
Ответить
Сообщениеpechkin, Доброе время суток - файл с примером. Надо поиграться с модальностью

Автор - berya
Дата добавления - 10.11.2016 в 19:18
pechkin Дата: Суббота, 12.11.2016, 09:17 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Здравствуйте! Спасибо за участие, к сожалению вопрос не решен. Может кто-то еще что подскажет? :(
 
Ответить
СообщениеЗдравствуйте! Спасибо за участие, к сожалению вопрос не решен. Может кто-то еще что подскажет? :(

Автор - pechkin
Дата добавления - 12.11.2016 в 09:17
berya Дата: Суббота, 12.11.2016, 09:46 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
pechkin, попробуйте так:
[vba]
Код
Sub СписокПоиск()
    '    ufrmПоиск.Show (0)
    
    ufrmПоиск.Show vbModeless
    
End Sub
[/vba]


Сообщение отредактировал berya - Суббота, 12.11.2016, 09:48
 
Ответить
Сообщениеpechkin, попробуйте так:
[vba]
Код
Sub СписокПоиск()
    '    ufrmПоиск.Show (0)
    
    ufrmПоиск.Show vbModeless
    
End Sub
[/vba]

Автор - berya
Дата добавления - 12.11.2016 в 09:46
berya Дата: Суббота, 12.11.2016, 09:53 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
pechkin, Это также регулируется в свойствах (Properties) ShowModal - False/True
 
Ответить
Сообщениеpechkin, Это также регулируется в свойствах (Properties) ShowModal - False/True

Автор - berya
Дата добавления - 12.11.2016 в 09:53
pechkin Дата: Суббота, 12.11.2016, 10:06 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Спвсибо,berya! К сожалению что-то не работает...
К сообщению приложен файл: -1.xls(60Kb)
 
Ответить
СообщениеСпвсибо,berya! К сожалению что-то не работает...

Автор - pechkin
Дата добавления - 12.11.2016 в 10:06
Pelena Дата: Суббота, 12.11.2016, 11:14 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
pechkin, так хотели?
К сообщению приложен файл: 7147756.xls(70Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениеpechkin, так хотели?

Автор - Pelena
Дата добавления - 12.11.2016 в 11:14
fairylive Дата: Суббота, 12.11.2016, 22:52 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 3 ±
Замечаний: 0% ±

Excel 2016
pechkin, так хотели?
К сообщению приложен файл: 7147756.xls(70Kb)


Как обладатель 2016 офиса сталкиваюсь с какой-то ошибкой.
К сообщению приложен файл: 9055455.png(21Kb) · 9472095.jpg(67Kb)
 
Ответить
Сообщение
pechkin, так хотели?
К сообщению приложен файл: 7147756.xls(70Kb)


Как обладатель 2016 офиса сталкиваюсь с какой-то ошибкой.

Автор - fairylive
Дата добавления - 12.11.2016 в 22:52
nilem Дата: Воскресенье, 13.11.2016, 14:21 | Сообщение № 13
Группа: Авторы
Ранг: Ветеран
Сообщений: 1051
Репутация: 397 ±
Замечаний: 0% ±

Excel 2013
pechkin, привет
открыл файл из 1-го сообщения, все работает, при открытой форме можно перейти на лист
второй цикл, кажется, не нужен. Вот этот:
[vba]
Код
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If InStr(1, UCase(Cells(i, 2)), UCase(TextBox1.Value)) > 0 Then
       ListBox1.AddItem i
       ListBox1.List(j, 1) = Cells(i, 2)
       j = j + 1
    End If
Next i
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеpechkin, привет
открыл файл из 1-го сообщения, все работает, при открытой форме можно перейти на лист
второй цикл, кажется, не нужен. Вот этот:
[vba]
Код
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If InStr(1, UCase(Cells(i, 2)), UCase(TextBox1.Value)) > 0 Then
       ListBox1.AddItem i
       ListBox1.List(j, 1) = Cells(i, 2)
       j = j + 1
    End If
Next i
[/vba]

Автор - nilem
Дата добавления - 13.11.2016 в 14:21
pechkin Дата: Воскресенье, 13.11.2016, 14:31 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 206
Репутация: 27 ±
Замечаний: 0% ±

2003
Еще раз всем спасибо! Ответ от Pelena - То что нужно! Nilem , спасибо за ответ, но в первом сообщении файл не работает как я бы хотел, там смысл не кликать мышем по УЖЕ выделенной ячейке после работы макроса , а сразу с калавиатуры редактировать.
 
Ответить
СообщениеЕще раз всем спасибо! Ответ от Pelena - То что нужно! Nilem , спасибо за ответ, но в первом сообщении файл не работает как я бы хотел, там смысл не кликать мышем по УЖЕ выделенной ячейке после работы макроса , а сразу с калавиатуры редактировать.

Автор - pechkin
Дата добавления - 13.11.2016 в 14:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Снять активность с формы
Страница 1 из 11
Поиск:

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