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

Sut i gyfrif y nifer o weithiau y mae cell yn cael ei newid yn Excel?

I gyfrif y nifer o weithiau y mae cell benodol yn cael ei newid yn Excel, gall y codau VBA a ddarperir yn yr erthygl hon helpu.

Cyfrwch y nifer o weithiau mae cell yn cael ei newid gyda chod VBA


Cyfrwch y nifer o weithiau mae cell yn cael ei newid gyda chod VBA

Gall y codau VBA canlynol eich helpu i gyfrif y nifer o weithiau y mae cell benodol yn cael ei newid yn Excel.

1. Mewn taflen waith sy'n cynnwys un neu fwy o gelloedd y mae angen i chi gyfrifo cyfanswm y newid ar eu cyfer, de-gliciwch ar y tab taflen, ac yna cliciwch Gweld y Cod o'r ddewislen cyd-destun. Gweler y screenshot:

2. Yn yr agoriad Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch a gludwch un o'r codau VBA canlynol i mewn i'r Côd ffenestr yn ôl eich anghenion.

Cod VBA 1: Traciwch newidiadau i un gell yn unig

Dim xCount As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    If Target = Range("B9") Then
        xCount = xCount + 1
        Range("C9").Value = xCount                                     
    End If
    Application.EnableEvents = False
    Set xRg = Application.Intersect(Target.Dependents, Me.Range("B9"))
    If Not xRg Is Nothing Then
        xCount = xCount + 1
        Range("C9").Value = xCount
    End If
    Application.EnableEvents = True
End Sub

Nodyn: Yn y cod, B9 yw'r gell sydd ei hangen arnoch i gyfrif ei newidiadau, a C9 yw'r gell i boblogi'r canlyniad cyfrif. Newidiwch nhw yn ôl yr angen.

Cod VBA 2: Traciwch newidiadau i gelloedd lluosog mewn colofn

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220916
    Dim xSRg As Range
    Dim xRRg As Range
    
    Set xSRg = Range("B9:B1000")
    Set xCell = Intersect(xSRg, Target)
    If xCell Is Nothing Then Exit Sub
    
    
    Application.EnableEvents = False
    On Error Resume Next
    Set xCell = xCell.Range("A1")
    Set xRRg = xCell.Offset(0, 1)
    
    xRRg.Value = xRRg.Value + 1

    Application.EnableEvents = True
End Sub

Nodyn: Yn y llinell hon"Gosod xRRg = xCell.Offset(0, 1)", y rhif 1 yn cynrychioli nifer y colofnau i'w gwrthbwyso i'r dde o'r cyfeirnod cychwyn (yma'r cyfeirnod cychwyn yw'r golofn B, ac mae'r cyfrif yr ydych am ei ddychwelyd yn y golofn C sy'n lleoli wrth ymyl colofn B). Os oes angen i chi allbynnu'r canlyniadau yn y golofn S, newid y rhif 1 i 10.

O hyn ymlaen, pan fydd cell B9 neu unrhyw gell yn yr ystod B9:B1000 yn newid, bydd cyfanswm y newidiadau yn cael eu harosod a'u llenwi'n awtomatig i'r gell benodedig.


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (20)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn ! Mae hyn yn gweithio'n wych.

Ond sut mae cael yr un swyddogaeth/rheol i weithio ar gyfer ystod o gelloedd, ar hyd colofn gyfan, er enghraifft?

Mae gen i restr o gysylltiadau fy musnes ar wahanol resi, gyda'u manylion cyswllt mewn gwahanol golofnau, ac rydw i eisiau ychwanegu colofn sy'n cofrestru ac yn cyfrif y nifer o weithiau mae cell benodol ar hyd pob rhes yn cael ei newid. Mae'r cod a roesoch yn gweithio'n wych, ond dim ond ar gyfer un gell ar y tro !

Rwy'n newydd i VBA, felly byddwn yn gwerthfawrogi'n fawr eich cefnogaeth.

Ceisiais ychwanegu ystod o gelloedd i'r cod, felly yn lle "B9" a "C9", fel y rhoddir yn yr enghraifft uchod, chwaraeais o gwmpas gydag amrywiadau fel "B:B", "C:C", neu "B9 :B1000" a "C9:C1000", heb unrhyw lwyddiant.

Diolch ymlaen llaw,
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Jan,
Rhowch gynnig ar y cod VBA isod. Gobeithio y gall helpu. Diolch am eich sylw.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod, xCell Fel Ystod
Dim xSRg, xRRg Fel Ystod
Dim xFNum Cyhyd

Gosod xSRg = Ystod ("B9: B1000")
Gosod xRRg = Ystod ("C9: C1000")

Application.EnableEvents = Gau
Ar Ail-ddechrau Gwall Nesaf
Ar gyfer xFNum = 1 I xSRg.count
Os Targed = xSRg.Item(xFNum) Yna
xRRg.Item(xFNum).Gwerth = xRRg.Item(xFNum).Gwerth + 1
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xFNum nesaf
Application.EnableEvents = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Mae hyn yn wych, ar fy matrics rwyf wedi defnyddio hwn ar un o'r colofnau ond rwyf wedi cael trafferth i ddyblygu hyn ar draws colofnau lluosog. Oes gennych chi ateb?

Diolch ymlaen llaw
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A allech chi ddarparu'r set cod cyfan? Rwy'n cymryd bod cod Crystal yn cael ei integreiddio â chod arall? Diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo grisial,

Yr wyf yn cael problem gyda’r cod. Os bydd y gell er enghraifft, os byddaf yn mynd i mewn

B9 fel "Afal" yna mae'n cynyddu C9 gan 1
B10 fel "Bêl" yna mae'n cynyddu C10 gan 1
Fodd bynnag, os byddaf yn mynd i mewn
B11 fel "Afal" eto yna bydd C9 yn cael ei gynyddu gan 1, ac nid C11

Mae'n ymddangos ei fod yn cynyddu'r rhes gyda'r digwyddiad 1af o'r gwerth ac nid y rhes wirioneddol wedi'i golygu.

A oes ffordd i gynyddu'r gell yn yr un rhes yn unig ac nid rhes flaenorol?

Diolch.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Wnaethoch chi ddarganfod hyn. Mae gen i ddiddordeb hefyd yn hyn ar gyfer gwirio celloedd lluosog. Heb roi cynnig arni eto.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Kevin,

Gall y cod canlynol eich helpu i ddatrys y broblem. Diolch am eich sylw.
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod, xCell Fel Ystod
Dim xSRg, xRRg Fel Ystod
Dim xFNum Cyhyd

Gosod xSRg = Ystod ("B9: B1000")
Gosod xRRg = Ystod ("C9: C1000")

Application.EnableEvents = Gau
Ar Ail-ddechrau Gwall Nesaf
Ar gyfer xFNum = 1 I xSRg.count
Os Targed = xSRg.Item(xFNum) Yna
xRRg.Item(xFNum).Gwerth = xRRg.Item(xFNum).Gwerth + 1
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xFNum nesaf
Application.EnableEvents = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Gracias de antemano por el aporte, muy útil, sin embargo, quisiera pedir su ayuda a fin de reiniciar el contador a cero cuando sea necesario, es decir, luego de contar las veces que se modificó la celda, quisiera llevarla a cero y môr. comenzar. podrás ayudarme. Gracias!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Bawb,

Mae'r ateb fel y darperir o dan "Cyfrif Nifer yr Amseroedd Mae Cell yn Newid Gyda Chod VBA" yn dda os ydym ond yn olrhain newidiadau i UN GELL. Awgrymwch, pa addasiadau sydd eu hangen, os yw'r olrhain i'w wneud ar gyfer celloedd lluosog. Yn achos celloedd lluosog, dylai'r rhifydd cynyddrannol ymddangos wrth ymyl y gell y mae'r newid mewn gwerth yn cael ei olrhain ar ei chyfer.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Edrych ymlaen am help a chymorth i gael cod VBA penodol, y gellir ei gymhwyso i gelloedd lluosog mewn un daflen waith.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Shiju,
Rhowch gynnig ar y cod VBA isod. Diolch am roi sylwadau.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod, xCell Fel Ystod
Dim xSRg, xRRg Fel Ystod
Dim xFNum Cyhyd

Gosod xSRg = Ystod ("B9: B1000")
Gosod xRRg = Ystod ("C9: C1000")

Application.EnableEvents = Gau
Ar Ail-ddechrau Gwall Nesaf
Ar gyfer xFNum = 1 I xSRg.count
Os Targed = xSRg.Item(xFNum) Yna
xRRg.Item(xFNum).Gwerth = xRRg.Item(xFNum).Gwerth + 1
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xFNum nesaf
Application.EnableEvents = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
tîm,

Pan geisiais ddefnyddio:

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod, xCell Fel Ystod
Dim xSRg, xRRg Fel Ystod
Dim xFNum Cyhyd

Gosod xSRg = Ystod ("B9: B1000")
Gosod xRRg = Ystod ("C9: C1000")

gan newid y celloedd Ystod a Tharged yn ofalus vis a vis P2:P200 a X2:X200 yn y drefn honno, nid wyf yn cyfrif y newid yng Ngholofn X er fy mod yn ceisio newid celloedd ar draws rhesi lluosog ar draws P2:P200.

Byddem yn gwerthfawrogi'n fawr unrhyw help.

Regards
JT
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A all unrhyw un fy helpu i gyflawni'r cod ar gyfer Cyfrif yr amser y mae cell wedi'i newid i "Ailddilysu" ac a ellir cymhwyso hynny i lawr cywirdeb colofn.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Quisiera que me ayudaran a reiniciar el contador a cero cuando lo requiera, es decir, la celda c9 llevarla a cero y comenzar a contar b9 nuevamente.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo FELIX MARIÑO,
Ychwanegwch y cod canlynol ar ôl y cod a ddarperir yn y post hwn. Pan fydd angen i chi ailosod y gell, cliciwch ar unrhyw eiriau yn y cod, ac yna pwyswch yr allwedd F5 i'w redeg.
Sub CleaRCount()
'Updated by Extendoffice 20220527
    xCount = 0
    Range("c9") = 0
End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Grisial

Rwy'n cael yr un mater â RedDragon. Rwy'n ceisio olrhain newidiadau mewn dyddiadau, er enghraifft pan fydd asiant yn anfon achos at eu rheolwr mae'n nodi dyddiad â llaw - gall hyn ddigwydd fwy nag unwaith Ar achos felly rwy'n ceisio defnyddio'r cod hwn i ddangos sawl gwaith y mae pob achos wedi cael ei anfon at reolwr. Fy mhroblemau yw:

1) Os anfonir achosion lluosog at reolwyr mewn un diwrnod, dim ond ar y lle cyntaf o'r dyddiad hwnnw y bydd y rhifydd yn cynyddu, nid wrth ymyl y rhesi dan sylw.
2) Bob tro y byddaf yn gadael y ddalen, yn ei hailagor, ac yn newid dyddiad, mae'r cownter yn ailosod i "1" - sut byddwn i'n cael hwn i'w gario drosodd a pheidio â'i ailosod pan fydd y ddalen yn cael ei hailagor?

Gwerthfawrogir unrhyw gymorth yn fawr a diolch yn fawr iawn am yr hyn rydych wedi'i wneud hyd yn hyn.

Gadjus
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Gadjus,
Mae'n ddrwg gennyf am yr anghyfleustra. Gall y cod VBA canlynol wneud ffafr i chi. Rhowch gynnig arni.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220916
    Dim xSRg As Range
    Dim xRRg As Range
    
    Set xSRg = Range("B9:B1000")
    Set xCell = Intersect(xSRg, Target)
    If xCell Is Nothing Then Exit Sub
    
    
    Application.EnableEvents = False
    On Error Resume Next
    Set xCell = xCell.Range("A1")
    Set xRRg = xCell.Offset(0, 1)
    
    xRRg.Value = xRRg.Value + 1

    Application.EnableEvents = True
End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n ceisio'r cod isod ac mae'n gweithio, ond rwy'n ei ddefnyddio i olrhain newidiadau ar ddyddiadau, gan fod rhai dyddiadau yr un peth bob tro rwy'n newid dyddiad sydd yr un peth i'r llall ar y colum mae'n cyfrif eto.
Rwy'n ceisio'r cod diweddaraf ond nid yw'n gwneud dim pan fyddaf yn rhoi cynnig arno. DIOLCH AM Y COD FAWR HWN!

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod, xCell Fel Ystod
Dim xSRg, xRRg Fel Ystod
Dim xFNum Cyhyd

Gosod xSRg = Ystod ("I3: I1000")
Gosod xRRg = Ystod ("S3: S1000")

Application.EnableEvents = Gau
Ar Ail-ddechrau Gwall Nesaf
Ar gyfer xFNum = 1 I xSRg.Count
Os Targed = xSRg.Item(xFNum) Yna
xRRg.Item(xFNum).Gwerth = xRRg.Item(xFNum).Gwerth + 1
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xFNum nesaf
Application.EnableEvents = Gwir
Is-End
Isgyfrif Clirio()
'Diweddarwyd gan Extendoffice 20220527
xCyfrif = 0
Ystod ("S3") = 0
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Gall y cod VBA canlynol wneud ffafr i chi. Rhowch gynnig arni.
Nodyn: Yn y llinell hon"Gosod xRRg = xCell.Offset(0, 10)", y rhif"10” yn cynrychioli nifer y colofnau i'w gwrthbwyso i'r dde o'r cyfeirnod cychwyn (yma y cyfeirnod cychwyn yw'r golofn I, ac mae'r cyfrif yr ydych am ei ddychwelyd yn y golofn S).

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220919
    Dim xSRg As Range
    Dim xRRg As Range
    
    Set xSRg = Range("I3:I1000")
    Set xCell = Intersect(xSRg, Target)
    If xCell Is Nothing Then Exit Sub
    
    
    Application.EnableEvents = False
    On Error Resume Next
    Set xCell = xCell.Range("A1")
    Set xRRg = xCell.Offset(0, 10)
    
    xRRg.Value = xRRg.Value + 1

    Application.EnableEvents = True
End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch Crystal, yn gweithio'n wych!
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir