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

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 Modulo:

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

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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!
fondo officetab
Commenti (4)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Ciao! Ottimo articolo. Una domanda: se, invece di un gruppo coerente di celle, voglio applicarlo in diverse parti del foglio (ad esempio A1: A2 E A6: A8), c'è un modo per farlo con la soluzione VBA? Vale a dire: come faccio a sostituire "A1: A1000" con diversi set di celle?
Questo commento è stato fatto dal moderatore sul sito
Ciao, GB,
Per applicare questo codice a più intervalli, utilizzare il codice seguente:

Nota: quando si utilizza questo codice, è necessario innanzitutto fare clic con il pulsante destro del mouse sulla scheda del foglio, quindi fare clic su Visualizza codice dal menu di scelta rapida, quindi copiare il codice seguente nel modulo.

Private Sub Worksheet_Change (ByVal Target As Range)
'Aggiorna entro Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Separa gli intervalli con virgole
Dim xRg come intervallo
Dim xSRg come intervallo
In caso di errore Vai a err_exit:
Application.EnableEvents = False
Imposta xSRg = Intervallo(sRg)
If Not Intersect(Target, xSRg) non è niente allora
Per ogni xRg in target
If Left(xRg.Value, 1) <> "-" Allora
xRg.Value = xRg.Value * -1
End If
Prossimo xRg
End If
err_exit:
Application.EnableEvents = True
End Sub

Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Super, grazie! Molto utile.
Questo commento è stato fatto dal moderatore sul sito
Come posso modificare la formattazione automatica con questo codice da Valuta a Contabilità?
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL