Skip to main content

Conas uimhreacha diúltacha a cheadú in Excel amháin?

In Excel, conas gan ach uimhreacha diúltacha a iontráiltear a cheadú? Tabharfaidh an t-alt seo roinnt cleasanna úsáideacha gasta isteach duit chun an tasc seo a réiteach.

Ná lig ach uimhreacha diúltacha in Excel le Bailíochtú Sonraí

Ná lig ach uimhreacha diúltacha in Excel le cód VBA


mboilgeog cheart gorm saighead Ná lig ach uimhreacha diúltacha in Excel le Bailíochtú Sonraí

De ghnáth, bíonn an Bailíochtú Sonraí is féidir le feidhm cabhrú leat, déan mar a leanas le do thoil:

1. Roghnaigh na cealla nó an colún nach dteastaíonn uait ach uimhreacha diúltacha a iontráladh a cheadú, agus ansin cliceáil Dáta > Bailíochtú Sonraí > Bailíochtú Sonraí, féach ar an scáileán:

ní cheadaíonn doc ach diúltach 1

2. Sa an Bailíochtú Sonraí bosca dialóige, faoin Socruithe cluaisín, déan na roghanna seo a leanas:

(1.) Sa Ceadaigh alt seo, a roghnú Deachúlach ón liosta anuas;

(2.) Sa Dáta alt, roghnaigh le do thoil níos lú ná nó cothrom leis rogha;

(3.) Faoi dheireadh, iontráil an uimhir 0 isteach sa Uasmhéid Bosca téacs.

ní cheadaíonn doc ach diúltach 2

3. Ansin cliceáil OK, agus anois, ní cheadaítear ach uimhreacha diúltacha agus 0 a iontráil, má iontráiltear uimhir dhearfach, taispeánfaidh sí teachtaireacht rabhaidh, féach an scáileán:

ní cheadaíonn doc ach diúltach 3


mboilgeog cheart gorm saighead Ná lig ach uimhreacha diúltacha in Excel le cód VBA

Seo cód VBA is féidir leis cabhrú leat, leis an gcód seo a leanas, nuair a iontrálann tú uimhir dhearfach, athrófar go diúltach í go huathoibríoch, déan mar a leanas:

1. Cliceáil ar dheis ar an táb bileog nach dteastaíonn uait ach uimhreacha diúltacha a cheadú, agus roghnaigh Féach an cód ón roghchlár comhthéacs, sa popped amach Microsoft Visual Basic d’Fheidhmchláir fuinneog, cóipeáil agus greamaigh an cód seo a leanas sa bán Modúil:

Cód VBA: Ná lig ach uimhreacha diúltacha sa bhileog oibre:

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

ní cheadaíonn doc ach diúltach 4

nótaí: Sa chód thuas, A1: A1000 an bhfuil na cealla nach dteastaíonn uait ach ionchur uimhreacha diúltacha a ionchur.

2. Ansin sábháil agus dún an cód seo, téigh ar ais ar an mbileog oibre, agus anois, nuair a iontrálann tú roinnt uimhreacha dearfacha sna cealla a shonraigh tú sa chód, athrófar na huimhreacha dearfacha go cinn diúltacha go huathoibríoch.

Uirlisí Táirgiúlachta Oifige is Fearr

🤖 Kutools AI Aide: anailís sonraí a réabhlóidiú bunaithe ar: Forghníomhú Chliste   |  Gin Cód  |  Cruthaigh Foirmlí Saincheaptha  |  Anailís a dhéanamh ar Sonraí agus Cairteacha a Ghin  |  Feidhmeanna Kutools a agairt...
Gnéithe Coitianta: Faigh, Aibhsigh nó Aithnigh Dúblaigh   |  Scrios Sraitheanna Bána   |  Comhcheangail Colúin nó Cealla gan Sonraí a Chailleadh   |   Babhta gan Foirmle ...
Cuardaigh Super: Ilchritéir VLookup    VLookup Illuachanna  |   VLookup Trasna Ilbhileoga   |   Amharc doiléir ....
Liosta anuas Casta: Go tapa Cruthaigh Liosta Anuas   |  Liosta anuas Cleithiúnach   |  Liosta Buail Isteach Ilroghnacha ....
Bainisteoir Colún: Cuir Líon Sonrach Colún leis  |  Colúin Bog  |  Scoránaigh Stádas Infheictheachta na gColún Ceilte  |  Déan comparáid idir Raonta & Colúin ...
Gnéithe Réadmhaoin: Fócas Eangaí   |  Amharc Dearaidh   |   Barra Mór na Foirmle    Leabhar Oibre & Bainisteoir Bileog   |  Leabharlann Acmhainní (Uaththéacs)   |  Piocálaí Dáta   |  Comhcheangail Bileoga Oibre   |  Criptigh/Díchriptigh Cealla    Seol Ríomhphost trí Liosta   |  Scagaire Super   |   Scagaire Speisialta (scagaire trom/iodálach/stailc tríd...) ...
Barr 15 Uirlisí12 Téacs uirlisí (Cuir Téacs, Bain Carachtair,...)   |   50 + Cairt cineálacha (Cairt Gantt,...)   |   40+ Praiticiúil Foirmlí (Ríomh aois bunaithe ar lá breithe,...)   |   19 Insertion uirlisí (Cuir isteach Cód QR, Ionsáigh Pictiúr ón gCosán,...)   |   12 Tiontú uirlisí (Uimhreacha le Focail, Comhshó Airgeadra,...)   |   7 Cumaisc & Scoilt uirlisí (Sraitheanna Comhcheangail Casta, Cealla Scoilt,...)   |   ... agus eile

Supercharge Do Scileanna Excel le Kutools le haghaidh Excel, agus Éifeachtúlacht Taithí Cosúil Ná Roimhe. Kutools le haghaidh Excel Tairiscintí Níos mó ná 300 Ardghnéithe chun Táirgiúlacht a Treisiú agus Sábháil Am.  Cliceáil anseo chun an ghné is mó a theastaíonn uait a fháil ...

Tuairisc


Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca

  • Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
  • Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
  • Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!
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