Ga naar hoofdinhoud

Hoe alleen negatieve getallen in Excel toestaan?

Hoe kunnen in Excel alleen negatieve getallen worden ingevoerd? Dit artikel introduceert enkele handige en snelle trucs om deze taak op te lossen.

Sta alleen negatieve getallen toe in Excel met gegevensvalidatie

Sta alleen negatieve getallen toe in Excel met VBA-code


pijl blauw rechts bel Sta alleen negatieve getallen toe in Excel met gegevensvalidatie

Normaal gesproken is de Data Validation functie kan u helpen, doe dan het volgende:

1. Selecteer de cellen of kolom waarvoor u alleen negatieve getallen wilt invoeren en klik op Data > Data Validation > Data Validation, zie screenshot:

doc staat alleen negatief 1 toe

2. In de Data Validation dialoogvenster onder het Instellingen tabblad, doe de volgende opties:

(1.) In het Allow sectie, kies Decimaal uit de vervolgkeuzelijst;

(2.) In het Data sectie, maak een keuze minder dan of gelijk aan keuze;

(3.) Voer ten slotte het nummer in 0 in de maximaal tekstvak.

doc staat alleen negatief 2 toe

3. Dan klikken OK, en nu mogen alleen negatieve getallen en 0 worden ingevoerd, als een positief getal wordt ingevoerd, wordt een waarschuwingsbericht weergegeven, zie screenshot:

doc staat alleen negatief 3 toe


pijl blauw rechts bel Sta alleen negatieve getallen toe in Excel met VBA-code

Hier is een VBA-code die u ook kan helpen, met de volgende code, wanneer u een positief getal invoert, wordt dit automatisch omgezet in negatief, doe dit als volgt:

1. Klik met de rechtermuisknop op de bladtab die u alleen negatieve getallen wilt toestaan, en kies Bekijk code vanuit het contextmenu, in de pop-out Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege ruimte Module:

VBA-code: laat alleen negatieve getallen toe in het werkblad:

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 staat alleen negatief 4 toe

Note: In de bovenstaande code, A1: A1000 zijn de cellen waarvan u alleen negatieve getallen wilt invoeren.

2. Sla vervolgens deze code op en sluit deze, ga terug naar het werkblad en als u nu een aantal positieve getallen invoert in de cellen die u in de code hebt opgegeven, worden de positieve getallen automatisch omgezet in negatieve getallen.

Beste Office-productiviteitstools

馃 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
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