Как заранее определить требуемый формат ячейки? - PullRequest
0 голосов
/ 22 июня 2019

В настоящее время я создаю панель мониторинга в Excel для отслеживания сделок на рынке Форекс.Один лист для добавления новых сделок в базу данных.В этой таблице у меня есть несколько полей, которые пользователь должен заполнить, чтобы добавить сделку в базу данных.Теперь я хочу избежать того, чтобы пользователь вставлял неправильные данные (относительно формата) в ячейки и, следовательно, позже вылетал из базы данных.

Как я могу определить такие критерии через VBA?Например, поле даты должно иметь формат YYYY-MM-DD и поле Торговый объем XX, YY, чтобы пользователь не мог (случайно) вставить X, YY и т. Д. Для раскрывающихся полей это легко, определив входные данные в раскрывающемся списке.само меню, но мне нужно какое-то решение для ячеек, заполненных вручную.

Затем я определю поле msgbox для всплывающего окна и сообщу пользователю о соответствии требуемым форматам ввода.

Большое спасибозаранее!

Некоторые ключевые слова помогли бы мне, тогда я мог бы углубиться в это и кодировать сам.

1 Ответ

0 голосов
/ 22 июня 2019

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

Если вы определяете формат ячейки как пользовательский 'гггг-мм-дд', тогда применяйте проверку данных с определенным диапазоном дат. Excel автоматически отформатирует их для вас, даже если они введут дд / мм / гггг, и предупредит, если недопустимая запись добавлено.

Затем для подхода с поясом и фигурными скобками запустите в Save подпрограмму, которая будет имитировать, что будет делать ваша база данных, и сообщит, если все еще есть недействительные данные, см. https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.beforesave

Я бы также заблокировал лист, чтобы пользователи не добавляли строки / столбцы или не перемещали ваши ячейки. введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...