Перейти до основного матеріалу

Як дозволити лише від’ємні числа в Excel?

Як в Excel дозволити лише введені від’ємні числа? Ця стаття представить кілька корисних та швидких прийомів для вирішення цього завдання.

Дозволити лише від’ємні числа в Excel із перевіркою даних

Дозволити лише від’ємні числа в Excel із кодом VBA


стрілка синя права міхур Дозволити лише від’ємні числа в Excel із перевіркою даних

Як правило, в Перевірка достовірності даних Ця функція може вам допомогти, будь ласка, виконайте наступне:

1. Виділіть клітинки або стовпець, для яких потрібно дозволити вводити лише від’ємні числа, а потім клацніть дані > Перевірка достовірності даних > Перевірка достовірності даних, див. скріншот:

doc допускає лише мінус 1

2, в Перевірка достовірності даних у діалоговому вікні під Налаштування на вкладці, виконайте такі параметри:

(1.) У дозволяти розділ, вибрати Десятковий зі спадного списку;

(2.) У дані розділ, будь ласка, оберіть менше або дорівнює варіант;

(3.) Нарешті, введіть номер 0 в Максимальний текстове вікно.

doc допускає лише мінус 2

3. Потім натисніть OK, і тепер дозволяється вводити лише від’ємні числа і 0, якщо введено позитивне число, воно відобразить попереджувальне повідомлення, див. знімок екрана:

doc допускає лише мінус 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

doc допускає лише мінус 4

примітки: У наведеному вище коді, A1: A1000 - це клітинки, які потрібно ввести лише введені від’ємні числа.

2. Потім збережіть і закрийте цей код, поверніться назад до робочого аркуша, і тепер, коли ви введете деякі позитивні числа в клітинки, які ви вказали в коді, позитивні числа будуть автоматично перетворені в негативні.

Найкращі інструменти продуктивності офісу

🤖 Kutools AI Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How do I change the automatic formatting with this code from Currency to Accounting ?
This comment was minimized by the moderator on the site
Hi! Great article. One question: if, instead of a coherent group of cells, I want to apply this in different parts of the sheet (e.g. A1:A2 AND A6:A8), is there a way to do that with the VBA solution? I.e.: how do I replace the "A1:A1000" with several sets of cells?
This comment was minimized by the moderator on the site
Hello, GB,
To apply this code for multiple ranges, please use the following code:

Note: when using this code, first, you should right click the sheet tab, and then click View code from the context menu, and then copy the following code into the module.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Separate the ranges by commas
Dim xRg As Range
Dim xSRg As Range
On Error GoTo err_exit:
Application.EnableEvents = False
Set xSRg = Range(sRg)
If Not Intersect(Target, xSRg) 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

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Super, thanks! Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations