Суть простая: нужно сделать часы, которые будут вставлять значения в выделенную ячейку. На просторах интернета Я нашёл только одни такие, но человек сделал ограничение: вставка только в определенную ячейку. Мне надо тоже самое, но вставлять в выделенную. При чем листов будет много, на них тоже должно работать.
Помогите пожалуйста, Я в написании VBA вообще ничего не понимаю.
Всем привет!
Суть простая: нужно сделать часы, которые будут вставлять значения в выделенную ячейку. На просторах интернета Я нашёл только одни такие, но человек сделал ограничение: вставка только в определенную ячейку. Мне надо тоже самое, но вставлять в выделенную. При чем листов будет много, на них тоже должно работать.
Помогите пожалуйста, Я в написании VBA вообще ничего не понимаю.itgamer
P.S. itgamer, код процедуры UserForm_Initialize замените хотя бы на такой, с циклами заполнения выпадающих списков (чтобы людей не пугать безцикловым заполнением, при котором остается только радоваться, что минут в часе "всего" 60, а не 600): [vba]
Код
Private Sub UserForm_Initialize() ComboBox1.SetFocus For i = 0 To 23: ComboBox1.AddItem Right(100 + i, 2): Next 'часы For i = 0 To 59: ComboBox2.AddItem Right(100 + i, 2): Next 'минуты Label6 = Format(Now, "hh:mm") End Sub
[/vba]
P.S. itgamer, код процедуры UserForm_Initialize замените хотя бы на такой, с циклами заполнения выпадающих списков (чтобы людей не пугать безцикловым заполнением, при котором остается только радоваться, что минут в часе "всего" 60, а не 600): [vba]
Код
Private Sub UserForm_Initialize() ComboBox1.SetFocus For i = 0 To 23: ComboBox1.AddItem Right(100 + i, 2): Next 'часы For i = 0 To 59: ComboBox2.AddItem Right(100 + i, 2): Next 'минуты Label6 = Format(Now, "hh:mm") End Sub
Неделю назад сделал замечание по представленному выше тайм-пикеру, да так получилось, что потом всю неделю дня не проходило, чтобы я к нему не возвращался, чтобы хоть на чуть-чуть что-нибудь в нём да не подкрутить. Какого-то плана улучшений сразу на всю неделю не было и дальнейшие хотелки возникали в процессе, от достигнутого.
В итоге получилось довольно симпатичное, как мне кажется, изделие, с приличной степенью комфортности использования. Описание поведения формы для выбора времени фактически уложилось во всплывавающие подсказки, которыми я обильно накачал все элементы управления (причем, программно, кодом VBA - все в одном месте для удобства возможного редактирования). Большинство из этих подсказок простираются на всю ширину экрана, выглядя при этом несколько назойливо. Если будут сильно раздражать, их всегда можно быстро удалить - все или любую из них, закомментировав соответствующие строки в процедуре setControlTipTexts в коде формы Watch2.
Из того, что не вошло во всплывающие подсказки, в первую очередь отмечу возможность перехода при открытой форме к другой ячейке или к диапазону из нескольких ячеек и даже переход на любой другой рабочий лист текущей рабочей книги Excel. В другую рабочую книгу перейти уже не получится, так как существование любой пользовательской формы ограничено пространством текущей рабочей книги, в которой форма создана. Точнее, перейти-то в другую книгу, конечно, получится, но без формы Собственно, это не моё достижение, эта возможность была заложена до меня установкой параметра Modal = False (vbModeless) в операторе показа формы Show. Я же к этому фрагменту возможностей добавил подхват формой значения времени из активной ячейки, причем это значение меняется при переходе к другой ячейке (фича, в любой момент отключаемая соответствующим флажком, но по умолчанию включена).
Мне самому нравятся кнопки прокрутки над полями ЧЧ и ММ (этакие "бровки" над "глазками"). Причем, минутные кнопки не только прокручивают сами минуты, но при переходе через час изменяют еще и значение часов в соседнем поле. А если при этом еще и нажать и удерживать клавишу Ctrl, то секунды побегут в 10 раз быстрее. Кстати, обнаружил, что получившийся тайм-пикер с этими кнопками прокрутки - замечательное средство для релаксации: даже если время никуда вводить не требуется, просто запускаешь эту форму и крутишь минутки туда-сюда. Возможно, именно поэтому я и потратил все "перекуры" прошедшей недели на эту разработку - невольно тянулся к релаксу!
Неделю назад сделал замечание по представленному выше тайм-пикеру, да так получилось, что потом всю неделю дня не проходило, чтобы я к нему не возвращался, чтобы хоть на чуть-чуть что-нибудь в нём да не подкрутить. Какого-то плана улучшений сразу на всю неделю не было и дальнейшие хотелки возникали в процессе, от достигнутого.
В итоге получилось довольно симпатичное, как мне кажется, изделие, с приличной степенью комфортности использования. Описание поведения формы для выбора времени фактически уложилось во всплывавающие подсказки, которыми я обильно накачал все элементы управления (причем, программно, кодом VBA - все в одном месте для удобства возможного редактирования). Большинство из этих подсказок простираются на всю ширину экрана, выглядя при этом несколько назойливо. Если будут сильно раздражать, их всегда можно быстро удалить - все или любую из них, закомментировав соответствующие строки в процедуре setControlTipTexts в коде формы Watch2.
Из того, что не вошло во всплывающие подсказки, в первую очередь отмечу возможность перехода при открытой форме к другой ячейке или к диапазону из нескольких ячеек и даже переход на любой другой рабочий лист текущей рабочей книги Excel. В другую рабочую книгу перейти уже не получится, так как существование любой пользовательской формы ограничено пространством текущей рабочей книги, в которой форма создана. Точнее, перейти-то в другую книгу, конечно, получится, но без формы Собственно, это не моё достижение, эта возможность была заложена до меня установкой параметра Modal = False (vbModeless) в операторе показа формы Show. Я же к этому фрагменту возможностей добавил подхват формой значения времени из активной ячейки, причем это значение меняется при переходе к другой ячейке (фича, в любой момент отключаемая соответствующим флажком, но по умолчанию включена).
Мне самому нравятся кнопки прокрутки над полями ЧЧ и ММ (этакие "бровки" над "глазками"). Причем, минутные кнопки не только прокручивают сами минуты, но при переходе через час изменяют еще и значение часов в соседнем поле. А если при этом еще и нажать и удерживать клавишу Ctrl, то секунды побегут в 10 раз быстрее. Кстати, обнаружил, что получившийся тайм-пикер с этими кнопками прокрутки - замечательное средство для релаксации: даже если время никуда вводить не требуется, просто запускаешь эту форму и крутишь минутки туда-сюда. Возможно, именно поэтому я и потратил все "перекуры" прошедшей недели на эту разработку - невольно тянулся к релаксу!Gustav