Vai al contenuto principale

Come consentire solo numeri negativi in ​​Excel?

In Excel, come consentire solo i numeri negativi inseriti? Questo articolo introdurrà alcuni trucchi utili e veloci per risolvere questo compito.

Consenti solo numeri negativi in ​​Excel con la convalida dei dati

Consenti solo numeri negativi in ​​Excel con codice VBA


freccia blu freccia destra Consenti solo numeri negativi in ​​Excel con la convalida dei dati

Normalmente, il Convalida dati la funzione può aiutarti, per favore fai come segue:

1. Seleziona le celle o la colonna in cui desideri consentire solo i numeri negativi immessi, quindi fai clic su Dati > Convalida dati > Convalida dati, vedi screenshot:

doc consente solo negativo 1

2. Nel Convalida dati finestra di dialogo, sotto il file Impostazioni profilo scheda, eseguire le seguenti opzioni:

(1.) Nella Consentire sezione, scegliere Decimale dall'elenco a discesa;

(2.) Nella Dati sezione, scegli minore o uguale a opzione;

(3.) Infine, inserisci il numero 0 nella Massimo casella di testo.

doc consente solo negativo 2

3. Quindi fare clic OK, e ora, è consentito inserire solo numeri negativi e 0, se è stato inserito un numero positivo, verrà visualizzato un messaggio di avviso, vedere screenshot:

doc consente solo negativo 3


freccia blu freccia destra Consenti solo numeri negativi in ​​Excel con codice VBA

Ecco anche un codice VBA che può aiutarti, con il seguente codice, quando inserisci un numero positivo, verrà convertito automaticamente in negativo, per favore fai come segue:

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio a cui si desidera consentire solo i numeri negativi e scegliere Visualizza codice dal menu contestuale, nel saltato fuori Microsoft Visual Basic, Applications Edition finestra, copia e incolla il seguente codice nello spazio vuoto Moduli:

Codice VBA: consente solo numeri negativi nel foglio di lavoro:

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 consente solo negativo 4

Note:: Nel codice sopra, A1: A1000 sono le celle in cui vuoi inserire solo numeri negativi.

2. Quindi salva e chiudi questo codice, torna al foglio di lavoro e ora, quando inserisci alcuni numeri positivi nelle celle specificate nel codice, i numeri positivi verranno convertiti automaticamente in negativi.

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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