excel vba календарь на форме

Excel vba календарь на форме

Выпадающий календарь для ввода дат

embim212

Автоматически должна появиться панель Toolbox :

embim213

embim214

embim215

Щелкните по ней, а затем нарисуйте календарь на поле формы, удерживая нажатой левую кнопку мыши:

embim216

При желании подправьте размеры формы и календаря и введите текст заголовка окна в панели свойств слева.

Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat=»dd/mm/yy»
End Sub

Private Sub UserForm_Activate()
Me.Calendar1.Value = Date
End Sub

Sub ShowCalendar()
UserForm1.Show
End Sub

(За дополнение спасибо Vadim )

Если Вы хотите, чтобы календарь автоматически появлялся на экране, когда пользователь выделяет определенные ячейки (диапазон) на листе, то щелкните правой кнопкой мыши по ярлычку этого листа и выберите Исходный текст (View Source). В открывшееся окно редактора Visual Basic скопируйте следующий код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range(«A1:A20»), Target) Is Nothing Then
UserForm1.Show
End If
End Sub

Теперь при выделении любой ячейки из диапазона А1:А20 календарь будет автоматически отображаться на экране.

Релятивисты и позитивисты утверждают, что «мысленный эксперимент» весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.

Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.

Источник

Excel vba календарь на форме

Выпадающий календарь для ввода дат

embim212

Автоматически должна появиться панель Toolbox :

embim213

embim214

embim215

Щелкните по ней, а затем нарисуйте календарь на поле формы, удерживая нажатой левую кнопку мыши:

embim216

При желании подправьте размеры формы и календаря и введите текст заголовка окна в панели свойств слева.

Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat=»dd/mm/yy»
End Sub

Private Sub UserForm_Activate()
Me.Calendar1.Value = Date
End Sub

Sub ShowCalendar()
UserForm1.Show
End Sub

(За дополнение спасибо Vadim )

Если Вы хотите, чтобы календарь автоматически появлялся на экране, когда пользователь выделяет определенные ячейки (диапазон) на листе, то щелкните правой кнопкой мыши по ярлычку этого листа и выберите Исходный текст (View Source). В открывшееся окно редактора Visual Basic скопируйте следующий код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range(«A1:A20»), Target) Is Nothing Then
UserForm1.Show
End If
End Sub

Теперь при выделении любой ячейки из диапазона А1:А20 календарь будет автоматически отображаться на экране.

Источник

Excel vba календарь на форме

This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

trans

Asked by:

trans

Question

trans

trans

I have a form that I have been using a monthview for the calendar. We are moving to Office 2016 and it appears this is no longer an option. Has anyone found a solution for this?

All replies

trans

trans

I have a form that I have been using a monthview for the calendar. We are moving to Office 2016 and it appears this is no longer an option.

trans

trans

I’m afraid Office 2016 does not have an adequate controls we want.

With Office 2013 and 2010, we can add «Date and Time Picker Control» in User Form.
But we can NOT with Office 2016.

I’ve tried to use «Outlook Date Control» with Word/Excel 2016, in vain.
An error occurs in Run time. It says «Interface not supported» (originally in Japanese).

[note]
In order to add controls,
1. on Menu in VBE screen, select [Tools] > [Additional Controls]

2. select
a) in case of Office 2010: [Microsoft Date and Time Picker Control. ]
b) in case of Office 2016: [Microsoft Outlook Date Control]

trans

trans

you can try to use Microsoft Date Time Picker Control from Additional Controls option in toolbox.

I try to test this Control in Word 2016 and it is working correctly. check the output mentioned below.

MSDN Community Support
Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

trans

trans

Hi Deepak Panchal10,

Which version and build of Office have you used?
I suppose you’re using older than Office 2016, such as 2013, 2010.

I could not find «Microsoft Date and Time Picker Control 6.0» in Office 2016.

I’m using Office Pro.Plus 2016:
Version 1609 (Build 7369.2038)

Office 2010: Microsoft Date and Time Picker Control 6.0 can be seen.

trans

trans

below is the version and build information that you had asked.

It is using MS Office 2016.

MSDN Community Support
Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

trans

trans

Hi Deepak Panchal10,

Thank you for information.
Your screenshot shows «Office 365», instead of «Office 2016».

If you’re using «Office 2016», which package did you use as an installer, ClickOnce or MSI?

# I installed Office 2016 via ClickOnce.

trans

trans

we have subscription of Office 365 on Office 2016.

I don’t know by which way they installed because it’s not our responsibility to install these products.

it all handles by other It Team who look after and take care about this.

All I can say that it is Office 2016. you can check the information mentioned in the picture.

MSDN Community Support
Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

trans

trans

Hi Deepak Panchal10,

Thank you for information again.

May I ask you to try to update your Office?
My Office 2016 is build 7369.2037 and yours 7369,2017.

I’ve heard a several troubles in the latest build of Office 2016, expecially Excel 2016.

trans

trans

currently I have to check and test many codes on multiple Ms Office Applications.

so I am unable to update the MS Office currently.

I can try for that after work.

MSDN Community Support
Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

trans

trans

Hi Deepak Panchel10,

Thanks a lot.
I hope you will be able to update your MS Office 2016 and to reproduce the issue of JJB consulting and me.

Hi JJB consulting,

How is your issue? Have you found any resolution?
I would like to see your «Additional Controls» screen.
Could you insert a screenshot? or share it via cloud storage such as OneDrive, DropBox?

trans

trans

I update my MS Office 2016 with latest available updates.

you can see the new version in the picture mentioned below.

and I find that Microsoft Date and Time Picker is still there and I can use it.

maybe there is some issue with your MS Office and I hope that op also have this control in his MS Office Application and can able to use it to fulfill his requirement.

MSDN Community Support
Please remember to click «Mark as Answer» the responses that resolved your issue, and to click «Unmark as Answer» if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

trans

trans

Thank you for infomation.

According to your description, there exist some differences between you and me.

1. You have subscription of Office 365 and use it.
(I have that of MSDN. So I suppose I could use Office 365, but I have not used it. I’ll try to use it.)

2. The version of Office 2016/365:
yours: 1610 (Build 7466.2022)
mine: 1609 (Build 7369.2038)

My Office 2016 cannot be updated further, i.e. it’s the latest in my case.

3. My Office 2016 is Japanese version originally. And I’ve added the Language Pack of English.

trans

trans

Note. If the Microsoft Date Piker control is not available in the More Controls list, it’s most likely because of the following reasons:

The Date and Time Picker is part of a library of tools with the catchy title of MSCOMCT2.OCX.

if you are using the Office 2016 32 bit version and Microsoft Date time Picker is not available then you can download the MSCOMCT2.OCX from the link mentioned below.

please visit the link mentioned below to view the steps to install above mentioned library.

it looks like you are using Office 2016 64 bit version.

-> if you are using 64 bit version then you can try to use third party Calendar control. so many Calendar controls are available on the internet. you can try to find.

Источник

Создание и вставка календаря в Excel

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Аннотация

Эта статья содержит образец макроса Microsoft Visual Basic для приложений (подпрограммы), который запрашивает у вас месяц и год и создает календарь на месяц с помощью рабочего листа.

Решение

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты технической поддержки Майкрософт могут пояснить работу той или иной процедуры, но модификация примеров и их адаптация к задачам разработчика не предусмотрена.

Для создания календаря выполните следующие действия.

Microsoft Excel 2003

Microsoft Excel 2007 или более поздние версии

Если вкладка «Разработчик» не отображается, перейдите на вкладку «Параметры Excel» и включите ее. В Excel 2007 этот пункт размещен в меню Популярное. В Excel 2010 этот пункт размещен в меню Настроить ленту.

Пример процедуры Visual Basic

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

Источник

Производственный календарь в Excel (VBA и Power Qwery)

Для рабочего проекта я выбрал способ получения дат через VBA(для поддержки всех версий независимо от надстроек), но в связи с популярностью Power Qwery решил сделать решение и при помощи этой надстройки.

Производственный календарь с сайта https://data.gov.ru при помощи VBA
Решение использует два основных инструмента внутри Visual Basic for Application:

unknownProduct Calendar_VBA.xlsm (76,8 KiB, 356 скачиваний)

Производственный календарь с сайта https://data.gov.ru при помощи Power Qwery

let //получаем исходный текст страницы в виде разбитого на строки текста Source = Table.FromColumns(), //отбираем из строк ту, которая содержит внутри текст «Гиперссылка (URL) на набор» и «.csv» и превращаем все это в строку // т.к. изначально Table.SelectRows возвращает набор в виде таблицы CsvURLText = Table.SelectRows(Source, each Text.Contains([Column1], «Гиперссылка (URL) на набор») and Text.Contains([Column1], «.csv»))<0>[Column1], //ищем начало гиперссылки url_start_pos = Text.PositionOf(CsvURLText,»http»), //ищем конец гиперссылки url_end_pos = Text.PositionOf(CsvURLText,».csv»), //формируем гиперссылку из CsvURLText url = Text.Middle(CsvURLText,url_start_pos,url_end_pos-url_start_pos+4), //скачиваем файл CSV по сформированной гиперссылке и открываем его //в заголовках будут имена месяцев csvfile = Table.PromoteHeaders(Csv.Document(Web.Contents(url),[Delimiter=»,», Columns=18, Encoding=65001, QuoteStyle=QuoteStyle.None]), [PromoteAllScalars=true]), //сворачиваем столбцы с датами в два столбца: название месяца(«Атрибут») и перечень дат(«Значение») #»Несвернутые столбцы» = Table.UnpivotOtherColumns(csvfile, <"Год/Месяц", "Всего рабочих дней", "Всего праздничных и выходных дней", "Количество рабочих часов при 40-часовой рабочей неделе", "Количество рабочих часов при 36-часовой рабочей неделе", "Количество рабочих часов при 24-часовой рабочей неделе">, «Атрибут», «Значение»), //убираем символы +, которыми обозначаются перенесенные праздничные дни #»Замененное значение1″ = Table.ReplaceValue(#»Несвернутые столбцы»,»+»,»»,Replacer.ReplaceText,<"Значение">), //разбиваем столбец с днями на отдельные столбцы #»Разделить столбец по разделителю» = Table.SplitColumn(#»Замененное значение1″, «Значение», Splitter.SplitTextByDelimiter(«,», QuoteStyle.Csv), <"Значение.1", "Значение.2", "Значение.3", "Значение.4", "Значение.5", "Значение.6", "Значение.7", "Значение.8", "Значение.9", "Значение.10", "Значение.11", "Значение.12", "Значение.13", "Значение.14", "Значение.15", "Значение.16">), //сворачиваем все столбцы с днями в два: «Атрибут.1″(нам не нужен) и день(«Значение») #»Другие столбцы с отмененным свертыванием» = Table.UnpivotOtherColumns(#»Разделить столбец по разделителю», <"Год/Месяц", "Всего рабочих дней", "Всего праздничных и выходных дней", "Количество рабочих часов при 40-часовой рабочей неделе", "Количество рабочих часов при 36-часовой рабочей неделе", "Количество рабочих часов при 24-часовой рабочей неделе", "Атрибут">, «Атрибут.1», «Значение»), //удаляем все строки с сокращенными днями #»Строки с примененным фильтром» = Table.SelectRows(#»Другие столбцы с отмененным свертыванием», each not Text.Contains([Значение], «*»)), //в отдельном столбце формируем из столбцов с годом, месяцем и днем дату #»Добавлен пользовательский объект» = Table.AddColumn(#»Строки с примененным фильтром», «Пользовательский», each Date.FromText([Значение] & » » & [Атрибут] & » » & [#»Год/Месяц»],»Ru-ru»)), //переименовываем столбец #»Переименованные столбцы» = Table.RenameColumns(#»Добавлен пользовательский объект»,<<"Пользовательский", "Дата">>), //удаляем лишние столбцы(по сути все, кроме столбца дата) #»Другие удаленные столбцы» = Table.SelectColumns(#»Переименованные столбцы»,<"Дата">), //преобразуем тип Any(Любой) в тип Дата #»Измененный тип» = Table.TransformColumnTypes(#»Другие удаленные столбцы»,<<"Дата", type date>>) in #»Измененный тип»

Скачать файл с запросом:

unknownProduct Calendar_PQ.xlsx (59,9 KiB, 375 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • excel exe ошибка при запуске приложения 0xc0000142
  • excel exe ошибка при запуске приложения 0xc000007b