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

Sut i redeg macro pan fydd gwerth celloedd yn newid yn Excel?

Fel rheol, yn Excel, gallwn wasgu allwedd F5 neu botwm Run i weithredu'r cod VBA. Ond, a ydych erioed wedi ceisio rhedeg y cod macro penodol pan fydd gwerth cell yn newid? Yr erthygl hon, byddaf yn cyflwyno rhai triciau cyflym i ddelio â'r swydd hon yn Excel.

Rhedeg neu ffonio macro pan fydd gwerth cell penodol yn newid gyda chod VBA

Rhedeg neu ffonio macro pan fydd unrhyw werth cell yn newid mewn ystod gyda chod VBA


swigen dde glas saeth Rhedeg neu ffonio macro pan fydd gwerth cell penodol yn newid gyda chod VBA

I redeg cod macro trwy newid gwerth cell, gall y cod VBA canlynol ffafrio chi, gwnewch fel hyn:

1. Cliciwch ar y dde ar y tab dalen rydych chi am weithredu'r macro os yw gwerth celloedd yn newid, ac yna dewiswch Gweld y Cod o'r ddewislen cyd-destun, ac yn yr agoriad Microsoft Visual Basic ar gyfer cymwysiadau ffenestr, copïo a gludo'r cod canlynol i'r Modiwl gwag:

Cod VBA: Rhedeg macro pan fydd gwerth celloedd yn newid:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

mae doc yn rhedeg macro os yw celloedd yn newid 1

Nodyn: Yn y cod uchod, A1 yw'r gell benodol rydych chi am redeg y cod yn seiliedig arni, Mymacro yw'r enw macro rydych chi am ei redeg. Os gwelwch yn dda eu newid i'ch angen.

2. Ac yna arbed a chau ffenestr y cod, nawr, pan fyddwch chi'n nodi neu'n newid gwerth yng nghell A1, bydd y cod penodol yn cael ei sbarduno ar unwaith.


swigen dde glas saeth Rhedeg neu ffonio macro pan fydd unrhyw werth cell yn newid mewn ystod gyda chod VBA

Os ydych chi am redeg neu sbarduno macro pan fydd unrhyw werth cell yn newid mewn ystod o gell, gall y cod canlynol eich helpu chi.

1. Cliciwch ar y dde ar y tab dalen rydych chi am weithredu'r macro os yw gwerth celloedd yn newid, ac yna dewiswch Gweld y Cod o'r ddewislen cyd-destun, ac yn yr agoriad Microsoft Visual Basic ar gyfer cymwysiadau ffenestr, copïo a gludo'r cod canlynol i'r Modiwl gwag:

Cod VBA: Rhedeg macro pan fydd unrhyw werth cell yn newid mewn ystod:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

mae doc yn rhedeg macro os yw celloedd yn newid 2

Nodyn: Yn y cod uchod, A1: B100 yw'r celloedd penodol rydych chi am redeg y cod yn seiliedig arnyn nhw, Mymacro yw'r enw macro rydych chi am ei redeg. Os gwelwch yn dda eu newid i'ch angen.

2. Ac yna arbed a chau ffenestr y cod, nawr, pan fyddwch chi'n nodi neu'n newid gwerth yng nghell unrhyw un o A1: B100, gweithredir y cod penodol ar unwaith.


Tynnwch yr holl macros o lyfrau gwaith lluosog

Kutools ar gyfer Excel's Swp Tynnwch yr holl Macros gall cyfleustodau eich helpu i gael gwared ar yr holl macros o lyfrau gwaith lluosog yn ôl yr angen. Dadlwythwch a threialwch am ddim Kutools ar gyfer Excel nawr!

Kutools ar gyfer Excel: gyda mwy na 300 o ychwanegiadau Excel defnyddiol, am ddim i geisio heb unrhyw gyfyngiad mewn 30 diwrnod. Dadlwythwch a threial am ddim Nawr!


Erthyglau cysylltiedig:

Sut i redeg macro yn awtomatig cyn argraffu yn Excel?

Sut i redeg macro yn seiliedig ar werth celloedd yn Excel?

Sut i redeg macro yn seiliedig ar werth a ddewiswyd o'r gwymplen yn Excel?

Sut i redeg macro trwy glicio hypergysylltiadau yn Excel?

Sut i redeg macro pan ddewisir taflen o lyfr gwaith?


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 (17)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Nid yw'r modiwl hwn yn gweithio i mi. Mae'n dweud pan fydd GWERTH y gell yn newid y bydd yn gweithredu'r cod. Rwy'n darganfod os ydw i'n DEipio i mewn i'r gell mae'n gweithio, ond os yw gwerth y gell yn cael ei newid gan fformiwla, er enghraifft Counta, yna nid yw'n gweithredu. Oes gennych chi ateb i weithredu macro pan fydd y GWERTH yn newid trwy fformiwla? Diolch, Wayne
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Yr un broblem â Wayne. Gwerthfawrogir unrhyw help yn fawr! Diolch Ronnie
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, bois,

Ydy, mae'r cod uchod ar gael dim ond pan fydd gwerth y gell yn newid â llaw, os oes angen i chi redeg cod macro penodol yn awtomatig pan fydd canlyniad fformiwla yn newid gyda'i gelloedd cymharol yn newid, ewch i'r erthygl hon:
https://www.extendoffice.com/documents/excel/4618-excel-vba-run-macro-when-cell-formula-result-changes.html.
Rhowch gynnig arni, a gobeithio eich ateb.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Nid yw'n gweithio... a dwi'n newid gwerth y gell â llaw. A oes unrhyw raggyfluniad y mae'n rhaid ei osod?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Profwch hyn yn y weithdrefn a'i ddefnyddio fel paramedr


Is-daflen waith breifat_Newid (Targed ByVal Fel Ystod)

MsgBox Target.Address & " -"e Target.AddressLocal

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Ydy mae'r disgrifiad yn dweud y dylai sbarduno pan fydd gwerth yn newid, ond mae'r ail god yn dweud ei fod pan nad yw'r gwerth yn ddim, ac nid yw'r un cyntaf yn sbarduno pan fydd gwerth yn newid ychwaith, ond os byddaf yn pwyso F5 wrth edrych ar y cod, mae eisiau i sbarduno MyMacro, ond nid yw'n ymddangos ei fod yn ymateb i newidiadau gwerth cymaint â mynd o ddim i rywbeth neu i'r gwrthwyneb.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Gweithiodd hyn y tro cyntaf i mi gan ddefnyddio rhestr dilysu data sy'n dangos testun yn seiliedig ar y dewis rhestr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Wedi gweithio'n wych i mi! Fy mhenbleth yw fy mod am iddo fod yn facro cyfeirio cymharol ac mae gwahaniaeth rhwng taro enter i achub y cofnod a dileu i glirio'r gell.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hei, cod defnyddiol. Roeddwn i'n meddwl a oedd yn bosibl gosod cylch o amgylch y celloedd sy'n cael eu newid wrth iddynt gael eu newid? Ac ailosod y cylchoedd bob dydd Llun ?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Kevin,
Dyma ddim syniad ar gyfer datrys eich problem, os oes gennych unrhyw ateb da, rhowch sylwadau yma.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Y macro yr ydych yn ei alw ble mae hwn gennych chi? Mae fy un i yn y ffolder Modiwlau ond pan fyddaf yn rhoi unrhyw werth mewn unrhyw gell o'r daflen waith rwy'n cael gwall Compile yn dweud:
Newidyn neu weithdrefn ddisgwyliedig, nid modiwl.

Os gwelwch yn dda helpu.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, DrCartwright,
Mae'n ddrwg gennyf am ymateb i chi mor hwyr.
Oes, fel y dywedasoch, dylai'r cod macro gael ei leoli yn y Modiwl, ac mae angen i chi newid yr enw cod i'ch enw eich hun fel y dangosir y sgrinlun a ganlyn:
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo prynhawn da
quisiera saber el codigo para que se active una macro cuando cambia el valor de una celda de una columna, pero este valor cambia por formula,sin que el usuario introduzca ningun valor.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo bois, rwy'n datrys y mater canlynol: Rwyf am grafu teitl gwefan pan fydd y ddolen wedi'i mewnosod yng ngholofn A a rhoi'r gwerth hwn i'r gell berthnasol (wrth ymyl) yng ngholofn B. Ymddengys mai'r broblem yw unwaith y byddaf yn gludo'r gwefan yng ngholofn A, mae'r cod yn ail-redeg y rhestr gyfan o golofn A2 i "rhes olaf" fel y'i diffinnir yn y cod. A oes unrhyw ffordd i addasu colofn B dim ond unwaith y bydd un golofn A wedi'i haddasu? Hy os Ipaste dolen yng ngholofn A36 Rwy'n cael teitl yn B36, ni waeth a yw'r gell yng nghanol yr ystod a ddefnyddir neu ar y gwaelod iawn. Hoffwn ddefnyddio hwn heb orfod ail-redeg mewnbynnau lluosog fel y mae ar hyn o bryd; (hy y ddolen "ar gyfer i =2 i'r rhes olaf")? Hefyd, hoffwn newid yr isod o facro Modiwlaidd hy sub is i breifat is adweithio i newid (hy swyddogaeth croestorri) lle mae'r 'targed' yn unrhyw gell o ystod A:A. Diolch yn fawr!


Is-bennawd get_title_()



Dim wb Fel Gwrthrych

Dim doc Fel Gwrthrych

Dim sURL Fel Llinyn

Dim lastrow Cyn Hir

lastrow = Taflen 1.Cells(Rows.Count, "A").Diwedd(xlUp).row



Am i = 2 To lastrow

Gosod wb = CreateObject ("internetExplorer.Application")

sURL = Celloedd(i, 1)



wb.llywio sURL

wb.Visible = Gau



Tra wb.Busy

DoDigwyddiadau

Wend



''Dogfen HTML

Gosod doc = wb.document



Celloedd(i, 2) = doc.Title



Ar Gwall GoTo err_clear

Celloedd(i, 3) = doc.GetElementsByTagName("h1"))(0).

gwall_clir:

Os Cyfeiliorni <> 0 Yna

Err.Clear

Ail-ddechrau Nesaf

Gorffennwch Os

wb.Quit

Amrediad(Celloedd(i, 1), Celloedd(i,3)).Colofnau.AutoFit

Nesaf i



Is-End




Diolch!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n ceisio awtomeiddio 1 llyfr gwaith (BOM) pan fydd llyfr gwaith arall (Statws Rhannau) yn gwneud newidiadau. Mae'r ffeil statws Rhannau yn diweddaru bob 15 munud. Mae angen i mi wybod sut i awtomeiddio colofn benodol pan fydd y newidiadau hyn yn digwydd? Unrhyw syniadau
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n defnyddio'r cod isod i guddio colofnau amrywiol yn dibynnu ar y dewis o gwymplen sydd wedi'i lleoli yng nghell C3, ond ar ôl i'r cyfrifiad gael ei wneud yn unrhyw le yn y daflen waith, mae POB colofn yn dod yn ANHYSBYS. Sut ydw i'n trwsio hyn?

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)

Colofnau ("D:F").AutoFit

Dim Proj1 Fel Llinyn
Dim Proj2 Fel Llinyn
Dim Proj3 Fel Llinyn
Dim Proj4 Fel Llinyn
Dim Proj5 Fel Llinyn
Dim Proj6 Fel Llinyn
Dim Proj7 Fel Llinyn
Dim Proj8 Fel Llinyn
Dim Proj9 Fel Llinyn
Dim Proj10 Fel Llinyn

Proj1 = ActiveWorkbook.Sheets("Prosiectau").Range("A1").Gwerth
Proj2 = ActiveWorkbook.Sheets("Prosiectau").Range("A2").Gwerth
Proj3 = ActiveWorkbook.Sheets("Prosiectau").Range("A3").Gwerth
Proj4 = ActiveWorkbook.Sheets("Prosiectau").Range("A4").Gwerth
Proj5 = ActiveWorkbook.Sheets("Prosiectau").Range("A5").Gwerth
Proj6 = ActiveWorkbook.Sheets("Prosiectau").Range("A6").Gwerth
Proj7 = ActiveWorkbook.Sheets("Prosiectau").Range("A7").Gwerth
Proj8 = ActiveWorkbook.Sheets("Prosiectau").Range("A8").Gwerth
Proj9 = ActiveWorkbook.Sheets("Prosiectau").Range("A9").Gwerth
Proj10 = ActiveWorkbook.Sheets("Prosiectau").Range("A10").Gwerth

Dim xRG Fel Ystod
Dim xHRow Fel Cyfanrif
Gosod xRG = Ystod ("C3")
Os Nid yw Croestorri (Targed, xRG) Yn Dim Yna

Os Target.Value = Proj1 Yna
Application.Columns("E:F").Hidden = Gwir
Application.Columns("D").Cudd = Gau

ElseIf Target.Value = Proj2 Yna
Ystod ("D:D, F:F").EntireColumn.Hidden = Gwir
Application.Columns("E").Cudd = Gau

Gorffennwch Os
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Dyma'n union beth roeddwn i'n edrych amdano. Pan fydd defnyddiwr yn nodi gwerth mewn cell, byddai macro didoli syml yn rhedeg. Mae'r macro yn rhedeg yn iawn ar ei ben ei hun ond rwy'n cael gwall defnydd annilys o eiddo gan ddefnyddio'r cod a awgrymir.

Beth allai fod y mater?
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir