Прескочи на основното съдържание

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

Автор: Xiaoyang Последна промяна: 2020-07-17

В 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 помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за 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