Note: The other languages of the website are Google-translated. Back to English

Как разрешить в Excel только отрицательные числа?

Как в Excel разрешить ввод только отрицательных чисел? Эта статья познакомит вас с некоторыми полезными и быстрыми приемами для решения этой задачи.

Разрешить только отрицательные числа в Excel с проверкой данных

Разрешить только отрицательные числа в Excel с кодом VBA


стрелка синий правый пузырь Разрешить только отрицательные числа в Excel с проверкой данных

Как правило, проверка достоверности данных функция может помочь вам, пожалуйста, сделайте следующее:

1. Выделите ячейки или столбцы, в которых нужно разрешить ввод только отрицательных чисел, а затем щелкните Данные > проверка достоверности данных > проверка достоверности данных, см. снимок экрана:

документ разрешает только отрицательный 1

2. В проверка достоверности данных диалоговое окно под Настройки Вкладка, выполните следующие действия:

(1.) В Разрешить раздел, выбрать Десятичная дробь из выпадающего списка;

(2.) В Данные раздел, пожалуйста, выберите меньше или равно вариант;

(3.) Наконец, введите номер 0 в максимальная текстовое окно.

документ разрешает только отрицательный 2

3. Затем нажмите OK, и теперь можно вводить только отрицательные числа и 0, если введено положительное число, отобразится предупреждающее сообщение, см. снимок экрана:

документ разрешает только отрицательный 3


стрелка синий правый пузырь Разрешить только отрицательные числа в Excel с кодом VBA

Вот код VBA, который также может вам помочь, со следующим кодом, когда вы вводите положительное число, оно будет автоматически преобразовано в отрицательное, сделайте следующее:

1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите разрешить только отрицательные числа, и выберите Просмотреть код из контекстного меню во всплывающем Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустое Модули:

Код VBA: разрешены только отрицательные числа на листе:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Const sRg As String = "A1:A1000"
    Dim xRg As Range
    On Error GoTo err_exit:
    Application.EnableEvents = False
    If Not Intersect(Target, Range(sRg)) Is Nothing Then
        For Each xRg In Target
            If Left(xRg.Value, 1) <> "-" Then
                xRg.Value = xRg.Value * -1
            End If
        Next xRg
    End If
err_exit:
    Application.EnableEvents = True
End Sub

документ разрешает только отрицательный 4

Внимание: В приведенном выше коде A1: A1000 - это ячейки, в которые вы хотите вводить только отрицательные числа.

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


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (4)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Отличная статья. Один вопрос: если вместо согласованной группы ячеек я хочу применить это в разных частях листа (например, A1: A2 И A6: A8), есть ли способ сделать это с помощью решения VBA? То есть: как заменить "A1:A1000" несколькими наборами ячеек?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, ГБ,
Чтобы применить этот код для нескольких диапазонов, используйте следующий код:

Примечание. При использовании этого кода сначала необходимо щелкнуть правой кнопкой мыши вкладку листа, а затем щелкнуть «Просмотреть код» в контекстном меню, а затем скопировать следующий код в модуль.

Private Sub Worksheet_Change (ByVal Target As Range)
'Обновить Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Разделить диапазоны запятыми
Dim xRg как диапазон
Dim xSRg как диапазон
При ошибке Перейти к err_exit:
Application.EnableEvents = False
Установите xSRg = диапазон (sRg)
Если Not Intersect(Target, xSRg) ничто, тогда
Для каждого xRg в целевом
Если Лево(xRg.Value, 1) <> "-" Тогда
xRg.Value = xRg.Value * -1
End If
Следующий xRg
End If
ошибка_выход:
Application.EnableEvents = True
End Sub

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Супер, спасибо! Очень полезно.
Этот комментарий был сведен к минимуму модератором на сайте
Как изменить автоматическое форматирование с помощью этого кода с Валюта на Бухгалтерский учет?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL