Ограничить входное значение ячейки Excel
У меня есть лист Excel. Я заблокировал и защитил другие ячейки. У меня есть 2 ячейки, которые требуют ввода пользователя, и оба являются валютными типами данных. Если я ввожу текст в эти ячейки, он перепутает вычисления, поэтому я хотел бы отформатировать эти ячейки таким образом, что если кто-либо напечатает текст или предложение, он даст ошибку и не повлияет на расчет и попросит ввести номер.
Я новичок в программировании на Excel, поэтому мне было бы трудно в первый раз.
- Количество различных значений с несколькими критериями
- экспорт данных datagridview для Excel в vb.net
- EXCEL - сводная таблица из нескольких таблиц блокирует число, формирующееся для Date Row
- Создание разделенного запятой списка в Excel
- Excel - соответствие значений ячеек в первой строке, возвращаемые значения на одной строке с несколькими столбцами
- C # - Excel - Как удалить видимые строки после AutoFilter?
- Формула не будет обновляться, когда ячейка автоматически обновляется на основе ввода с другого листа
- Связанная формула данных Excel Excel 2013 возвращает значение #REF, несмотря на то, что связанные значения не меняются
- Ошибка времени выполнения: невозможно получить свойство Vlookup класса WorksheetFunction
- Изменение размера строки таблицы в другой размер строки таблицы
- Excel 2013 - Power Query, обновление фона. Не удалось выполнить метод «Обновить» объекта «WorkbookConnection»
- Как повторить все значения столбцов для каждой строки в другом столбце
- Полностью динамическая формула массива SUMIF
Совет. Проверка данных – очень слабый механизм управления. Когда вы копируете и вставляете значение в ячейку, все проверки данных передаются.
Ради решения предположим, что ячейками валюты являются A1 и B1 на листе 1.
Перейдите к коду листа1 в VBE и напишите макрос, что-то вроде этого
Dim lOldVal As Long 'Sheet Module level variable Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Or Target.Address = "$B$1" Then If Not IsNumeric(Target.Value) Then MsgBox "Only numeric values allowed.", vbInformation, "Foo" Application.EnableEvents = False Target.Value = lOldVal Application.EnableEvents = True End If End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Or Target.Address = "$B$1" Then lOldVal = Target.Value End If End Sub
измените $ A $ 1 и $ B $ 1 на ваш фактический адрес ячейки.
Я не программист excel, однако я нашел это несколько недель назад, глядя на файл excel
Вы должны перейти на вкладку Data Validation
затем выполнить проверку Data Validation
затем поставить критерии
Вы можете даже ввести входное сообщение и сообщение об ошибке