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

Вход

Регистрация

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

 

= Мир MS Excel/Условие открытия UserForm и заполнение ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условие открытия UserForm и заполнение ячеек (Макросы Sub)
Условие открытия UserForm и заполнение ячеек
Постовой Дата: Понедельник, 23.12.2013, 17:55 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Доброго времени суток!
Я ни как не могу покорить этот код. Мне необходимо что бы условием вызова был один клик по любой из ячеек столбца "D"
А сейчас могу вызывать только из D11:D12 и двойным кликом.
[vba]
Код
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("D11:D12")) Is Nothing Then t: Target.Offset((Target.Row = 12) * 2 + 1).Select: Cancel = True
End Sub
[/vba]
Как изменить диапазон вызова на столбец "D"
 
Ответить
СообщениеДоброго времени суток!
Я ни как не могу покорить этот код. Мне необходимо что бы условием вызова был один клик по любой из ячеек столбца "D"
А сейчас могу вызывать только из D11:D12 и двойным кликом.
[vba]
Код
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("D11:D12")) Is Nothing Then t: Target.Offset((Target.Row = 12) * 2 + 1).Select: Cancel = True
End Sub
[/vba]
Как изменить диапазон вызова на столбец "D"

Автор - Постовой
Дата добавления - 23.12.2013 в 17:55
SkyPro Дата: Понедельник, 23.12.2013, 18:00 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Так вы код в событие change поставьте.
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
UserForm1.Show
End Sub
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Понедельник, 23.12.2013, 18:02
 
Ответить
СообщениеТак вы код в событие change поставьте.
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
UserForm1.Show
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 23.12.2013 в 18:00
wild_pig Дата: Понедельник, 23.12.2013, 18:01 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[vba]
Код
Range("D:D")
[/vba]
 
Ответить
Сообщение[vba]
Код
Range("D:D")
[/vba]

Автор - wild_pig
Дата добавления - 23.12.2013 в 18:01
Постовой Дата: Понедельник, 23.12.2013, 18:12 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Так и следовательно по аналогии если мне необходимо что бы условием вызова была одна ячейка допустим D2 то
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D2:D2")) Is Nothing Then Exit Sub
UserForm1.Show
End Sub
[/vba]
Я прав?
 
Ответить
СообщениеТак и следовательно по аналогии если мне необходимо что бы условием вызова была одна ячейка допустим D2 то
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D2:D2")) Is Nothing Then Exit Sub
UserForm1.Show
End Sub
[/vba]
Я прав?

Автор - Постовой
Дата добавления - 23.12.2013 в 18:12
SkyPro Дата: Понедельник, 23.12.2013, 18:18 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub рабочийлист_изменениевыделения(ByVal ячейка(или диапазон ячеек) As Range)
Если пересечание(выделенного, [D2]) равно ничего тогда выйти из процедуры
а если не вышло из процедуры, значит
UserForm1.Show
End Sub
[/vba]
Если диапазон = 1 ячейка, то записывать можно либо range("D2"), либо [D2], либо cells(2,4).


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Понедельник, 23.12.2013, 18:21
 
Ответить
Сообщение[vba]
Код
Private Sub рабочийлист_изменениевыделения(ByVal ячейка(или диапазон ячеек) As Range)
Если пересечание(выделенного, [D2]) равно ничего тогда выйти из процедуры
а если не вышло из процедуры, значит
UserForm1.Show
End Sub
[/vba]
Если диапазон = 1 ячейка, то записывать можно либо range("D2"), либо [D2], либо cells(2,4).

Автор - SkyPro
Дата добавления - 23.12.2013 в 18:18
Постовой Дата: Понедельник, 23.12.2013, 20:30 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Так все с этим ясно, тут заработало :)
Но встал вопрос:
Я заполняю данными с формы на sheet2 строки в sheet1.
В ячейке (пусть B2) sheet2 устанавливаю данные с userform1 далее при нажатии кнопки внести данные вносятся на sheet1,
И этой же userform1 я пользуюсь для заполнения в дальнейшем столбца (К примеру D) на sheet1.
Так вот о главном у userform1 свой так сказать свой алгоритм свои функции свой код и как я смогу его привязать и к sheet2 "B2" и к sheet1 [D]?
то есть если я выбрал sheet2 "B2" то только туда, а если sheet1 [D] то туда соответственно.


Сообщение отредактировал Постовой - Понедельник, 23.12.2013, 20:42
 
Ответить
СообщениеТак все с этим ясно, тут заработало :)
Но встал вопрос:
Я заполняю данными с формы на sheet2 строки в sheet1.
В ячейке (пусть B2) sheet2 устанавливаю данные с userform1 далее при нажатии кнопки внести данные вносятся на sheet1,
И этой же userform1 я пользуюсь для заполнения в дальнейшем столбца (К примеру D) на sheet1.
Так вот о главном у userform1 свой так сказать свой алгоритм свои функции свой код и как я смогу его привязать и к sheet2 "B2" и к sheet1 [D]?
то есть если я выбрал sheet2 "B2" то только туда, а если sheet1 [D] то туда соответственно.

Автор - Постовой
Дата добавления - 23.12.2013 в 20:30
Постовой Дата: Понедельник, 23.12.2013, 20:50 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Все сообразил что вторая команда на втором листе отдельно! Но тогда возник другой вопрос: Если до этого заполнялись ячейки то теперь просто открывается форма и при выборе команды с формы (А именно даты ни чего не стало происходить)


Сообщение отредактировал Постовой - Понедельник, 23.12.2013, 21:06
 
Ответить
СообщениеВсе сообразил что вторая команда на втором листе отдельно! Но тогда возник другой вопрос: Если до этого заполнялись ячейки то теперь просто открывается форма и при выборе команды с формы (А именно даты ни чего не стало происходить)

Автор - Постовой
Дата добавления - 23.12.2013 в 20:50
Постовой Дата: Понедельник, 23.12.2013, 21:50 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Вот прилагаю файл. В нем пример, только
1) Во первых "D" столбец весь под вызовам календаря, ну вы сами видите что диапазон с D3 начинается, а если я ставлю "D3:D" то ни как. ошибка
2) Выводить выводит календарь, а вносить в выбранную ячейку столбца D не вносит. В чем проблема? Если можно скрипт. и пояснение (ОШИБКА) пояснение. Хочется понять для дальнейшего.
К сообщению приложен файл: __1.xlsm (38.8 Kb)
 
Ответить
СообщениеВот прилагаю файл. В нем пример, только
1) Во первых "D" столбец весь под вызовам календаря, ну вы сами видите что диапазон с D3 начинается, а если я ставлю "D3:D" то ни как. ошибка
2) Выводить выводит календарь, а вносить в выбранную ячейку столбца D не вносит. В чем проблема? Если можно скрипт. и пояснение (ОШИБКА) пояснение. Хочется понять для дальнейшего.

Автор - Постовой
Дата добавления - 23.12.2013 в 21:50
antal10 Дата: Понедельник, 23.12.2013, 22:50 | Сообщение № 9
Группа: Проверенные
Ранг: Участник
Сообщений: 58
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013
Так что-ли?
К сообщению приложен файл: _1-1-.xlsm (40.6 Kb)
 
Ответить
СообщениеТак что-ли?

Автор - antal10
Дата добавления - 23.12.2013 в 22:50
Постовой Дата: Понедельник, 23.12.2013, 22:56 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Так что-ли?
Почти только вот в дате на листе
"ФОРМА ЗАПОЛНЕНИЯ" не откликается календарик :'( deal


Сообщение отредактировал Постовой - Понедельник, 23.12.2013, 23:00
 
Ответить
Сообщение
Так что-ли?
Почти только вот в дате на листе
"ФОРМА ЗАПОЛНЕНИЯ" не откликается календарик :'( deal

Автор - Постовой
Дата добавления - 23.12.2013 в 22:56
RAN Дата: Понедельник, 23.12.2013, 22:57 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Ошибка в неправильном использовании.
Используйте календарь нормально - по правой кнопке мышки, и будет счастье.
А сейчас
Ввели любой символ в D1.
Нажали Enter.
Перешли в D2 и вызвали календарь.
Из календаря вставляем в D2.
Ну и т.д, и т.п....
Почитайте про обработчики событий.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеОшибка в неправильном использовании.
Используйте календарь нормально - по правой кнопке мышки, и будет счастье.
А сейчас
Ввели любой символ в D1.
Нажали Enter.
Перешли в D2 и вызвали календарь.
Из календаря вставляем в D2.
Ну и т.д, и т.п....
Почитайте про обработчики событий.

Автор - RAN
Дата добавления - 23.12.2013 в 22:57
Постовой Дата: Понедельник, 23.12.2013, 23:05 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
А сейчас
Ввели любой символ в D1.
Нажали Enter.

Можно конечно и так, я то пойму, а вот у меня еще 4 человека в день на телефоне сидят и вносят данные и всем обьясни...... Минимизация сами же знаете что это такое.......
 
Ответить
Сообщение
А сейчас
Ввели любой символ в D1.
Нажали Enter.

Можно конечно и так, я то пойму, а вот у меня еще 4 человека в день на телефоне сидят и вносят данные и всем обьясни...... Минимизация сами же знаете что это такое.......

Автор - Постовой
Дата добавления - 23.12.2013 в 23:05
RAN Дата: Понедельник, 23.12.2013, 23:24 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Погорячился, был не прав.
Причина в другом.
Календарь вызывается не командой
[vba]
Код
anncalendar.Show
[/vba]
а процедурой
[vba]
Код
Sub CmdSelectDate()
[/vba]

Поглядите туда.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПогорячился, был не прав.
Причина в другом.
Календарь вызывается не командой
[vba]
Код
anncalendar.Show
[/vba]
а процедурой
[vba]
Код
Sub CmdSelectDate()
[/vba]

Поглядите туда.

Автор - RAN
Дата добавления - 23.12.2013 в 23:24
antal10 Дата: Понедельник, 23.12.2013, 23:39 | Сообщение № 14
Группа: Проверенные
Ранг: Участник
Сообщений: 58
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013
Почти только вот в дате на листе
"ФОРМА ЗАПОЛНЕНИЯ" не откликается календарик

А что он у вас откликался?
К сообщению приложен файл: 1134709.xlsm (41.7 Kb)
 
Ответить
Сообщение
Почти только вот в дате на листе
"ФОРМА ЗАПОЛНЕНИЯ" не откликается календарик

А что он у вас откликался?

Автор - antal10
Дата добавления - 23.12.2013 в 23:39
Постовой Дата: Вторник, 24.12.2013, 00:13 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Я бы и может быть с радостью, но пока еще тяжеловато. И что в процедуре не то теперь?
 
Ответить
СообщениеЯ бы и может быть с радостью, но пока еще тяжеловато. И что в процедуре не то теперь?

Автор - Постовой
Дата добавления - 24.12.2013 в 00:13
RAN Дата: Вторник, 24.12.2013, 00:20 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
В какой?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВ какой?

Автор - RAN
Дата добавления - 24.12.2013 в 00:20
Постовой Дата: Вторник, 24.12.2013, 00:26 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
А что он у вас откликался?

Вот по моему ваше решение работает только вот почему то после нажатия Кнопки на листе "ФОРМА ЗАПОЛНЕНИЯ" календарь появляется повторно, хотя там команда на заполнения листа "ОТЧЕТ"
 
Ответить
Сообщение
А что он у вас откликался?

Вот по моему ваше решение работает только вот почему то после нажатия Кнопки на листе "ФОРМА ЗАПОЛНЕНИЯ" календарь появляется повторно, хотя там команда на заполнения листа "ОТЧЕТ"

Автор - Постовой
Дата добавления - 24.12.2013 в 00:26
Постовой Дата: Вторник, 24.12.2013, 00:28 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
RAN, в файле antal10, вроде бы получилось, только календарь возникает дважды на листе ФОРМА ЗАПОЛНЕНИЯ в чем причина? вроде бы команда для кнопки не дает команду открытия календаря а он открывается вновь
 
Ответить
СообщениеRAN, в файле antal10, вроде бы получилось, только календарь возникает дважды на листе ФОРМА ЗАПОЛНЕНИЯ в чем причина? вроде бы команда для кнопки не дает команду открытия календаря а он открывается вновь

Автор - Постовой
Дата добавления - 24.12.2013 в 00:28
RAN Дата: Вторник, 24.12.2013, 00:33 | Сообщение № 19
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Щелчек не дает, а это
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[/vba]
дает


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЩелчек не дает, а это
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[/vba]
дает

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

2010
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Column = 4 Then
         If Target.Row > 2 Then
             CmdSelectDate
         End If
     End If
End Sub
[/vba]

И все.
Никаких кнопок не надо


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Column = 4 Then
         If Target.Row > 2 Then
             CmdSelectDate
         End If
     End If
End Sub
[/vba]

И все.
Никаких кнопок не надо

Автор - RAN
Дата добавления - 24.12.2013 в 00:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условие открытия UserForm и заполнение ячеек (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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