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

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 Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

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!
fundul officetab
Comentarii (4)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut! Excelent articol. O întrebare: dacă, în loc de un grup coerent de celule, vreau să aplic acest lucru în diferite părți ale foii (de exemplu A1:A2 ȘI A6:A8), există o modalitate de a face asta cu soluția VBA? Adică: cum înlocuiesc „A1:A1000” cu mai multe seturi de celule?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, GB,
Pentru a aplica acest cod pentru mai multe intervale, vă rugăm să utilizați următorul cod:

Notă: atunci când utilizați acest cod, mai întâi, trebuie să faceți clic dreapta pe fila foii, apoi să faceți clic pe Vizualizare cod din meniul contextual, apoi să copiați următorul cod în modul.

Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
'Actualizare de Extendoffice
Const sRg As String = „A1:A10,B1:B10,C1:C20” „Separați intervalele prin virgule
Dim xRg As Range
Dim xSRg As Range
La eroare GoTo err_exit:
Application.EnableEvents = Fals
Set xSRg = Interval(sRg)
Dacă nu se intersectează (țintă, xSRg) este nimic, atunci
Pentru fiecare xRg în țintă
Dacă Left(xRg.Value, 1) <> "-" Atunci
xRg.Value = xRg.Value * -1
Final, dacă
Următorul xRg
Final, dacă
err_exit:
Application.EnableEvents = Adevărat
End Sub

Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Super, multumesc! Foarte util.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum schimb formatarea automată cu acest cod de la Monedă la Contabilitate?
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL