Salt la conținutul principal

Cum să permiteți numai numerele negative în Excel?

În Excel, cum să permiți doar introducerea numerelor negative? Acest articol va introduce câteva trucuri utile și rapide pentru a rezolva această sarcină.

Permiteți numai numere negative în Excel cu validarea datelor

Permiteți numai numere negative în Excel cu cod VBA


săgeată albastru dreapta balon Permiteți numai numere negative în Excel cu validarea datelor

În mod normal, Data validarii funcția vă poate ajuta, faceți următoarele:

1. Selectați celulele sau coloana pe care doriți să permiteți introducerea numai a numerelor negative, apoi faceți clic pe Date > Data validarii > Data validarii, vezi captura de ecran:

doc permite numai 1 negativ

2. În Data validarii caseta de dialog, sub setări cont , faceți următoarele opțiuni:

(1.) În Permite secțiune, pentru a alege Zecimal din lista derulantă;

(2.) În Date secțiune, vă rugăm să alegeți mai mic sau egal cu opțiune;

(3.) În cele din urmă, introduceți numărul 0 în Maxim casetă de text.

doc permite numai 2 negativ

3. Apoi apasa OK, iar acum, numai numerele negative și 0 sunt permise să fie introduse, dacă numărul pozitiv a fost introdus, va afișa un mesaj de avertizare, a se vedea captura de ecran:

doc permite numai 3 negativ


săgeată albastru dreapta balon Permiteți numai numere negative în Excel cu cod VBA

Iată un cod VBA, de asemenea, vă poate ajuta, cu următorul cod, când introduceți un număr pozitiv, acesta va fi convertit în negativ automat, vă rugăm să faceți următoarele:

1. Faceți clic dreapta pe fila de foaie pe care doriți să permiteți numai numere negative și alegeți Afișați codul din meniul contextual, în fereastra pop-out Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți următorul cod în spațiul gol Module:

Cod VBA: Permiteți numai numere negative în foaia de lucru:

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 permite numai 4 negativ

notițe: În codul de mai sus, A1: A1000 este celulele pe care doriți să introduceți numai numerele negative de intrare.

2. Apoi salvați și închideți acest cod, reveniți la foaia de lucru, iar acum, când introduceți câteva numere pozitive în celulele pe care le-ați specificat în cod, numerele pozitive vor fi convertite automat la negative.

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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