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

Ինչպե՞ս գործարկել մակրո, երբ բջջային արժեքը փոխվում է Excel- ում:

Սովորաբար, Excel- ում մենք կարող ենք սեղմել F5 ստեղնը կամ Run կոճակը ՝ VBA կոդն իրականացնելու համար: Բայց երբևէ փորձե՞լ եք գործարկել հատուկ մակրո կոդը, երբ բջջային արժեքը փոխվում է: Այս հոդվածում ես կներկայացնեմ մի քանի արագ հնարքներ Excel- ում այս գործով զբաղվելու համար:

Գործարկել կամ զանգահարել մակրո, երբ բջջի որոշակի արժեքը փոխվում է VBA կոդի հետ

Գործարկել կամ զանգահարել մակրո, երբ ցանկացած բջջային արժեք փոխվում է VBA կոդով տիրույթում


նետ կապույտ աջ պղպջակ Գործարկել կամ զանգահարել մակրո, երբ բջջի որոշակի արժեքը փոխվում է VBA կոդի հետ

Բջջային արժեքը փոխելով մակրո կոդ գործարկելու համար հետևյալ VBA կոդը կարող է ձեզ լավություն բերել, արեք հետևյալ կերպ.

1, Աջ կտտացրեք թերթիկի ներդիրին, որը ցանկանում եք կատարել մակրոը, եթե բջջային արժեքը փոխվի, և այնուհետև ընտրեք Դիտել կոդը համատեքստային ընտրացանկից և բացվածում Microsoft Visual Basic հավելվածների համար պատուհանը, պատճենեք և տեղադրեք հետևյալ կոդը դատարկ Մոդուլի մեջ.

VBA կոդ. Գործարկել մակրոը, երբ բջջային արժեքը փոխվում է.

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

doc վազքի մակրո, եթե բջիջը փոխվում է 1

ՆշումՎերոհիշյալ ծածկագրում A1 այն հատուկ բջիջն է, որի վրա ցանկանում եք գործարկել կոդը, Միմակրո մակրո անունն է, որը ցանկանում եք գործարկել: Խնդրում եմ դրանք փոխեք ձեր կարիքի:

2, Եվ այնուհետև պահեք և փակեք ծածկագրի պատուհանը, այժմ, երբ A1 բջիջ եք մուտքագրում կամ փոխում եք արժեքը, կոնկրետ կոդը միանգամից գործարկվելու է:


նետ կապույտ աջ պղպջակ Գործարկել կամ զանգահարել մակրո, երբ ցանկացած բջջային արժեք փոխվում է VBA կոդով տիրույթում

Եթե ​​ցանկանում եք գործարկել կամ գործարկել մակրո, երբ որևէ բջջի արժեքը փոխվում է բջիջների տիրույթում, հետևյալ կոդը կարող է օգնել ձեզ:

1, Աջ կտտացրեք թերթիկի ներդիրին, որը ցանկանում եք կատարել մակրոը, եթե բջջային արժեքը փոխվի, և այնուհետև ընտրեք Դիտել կոդը համատեքստային ընտրացանկից և բացվածում Microsoft Visual Basic հավելվածների համար պատուհանը, պատճենեք և տեղադրեք հետևյալ կոդը դատարկ Մոդուլի մեջ.

VBA կոդ. Գործարկել մակրոը, երբ բջջի ցանկացած արժեք փոխվում է տիրույթում.

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

doc վազքի մակրո, եթե բջիջը փոխվում է 2

ՆշումՎերոհիշյալ ծածկագրում A1: B100 այն հատուկ բջիջներն են, որոնց հիման վրա ուզում եք գործարկել կոդը, Միմակրո մակրո անունն է, որը ցանկանում եք գործարկել: Խնդրում եմ դրանք փոխեք ձեր կարիքի:

2, Եվ այնուհետև պահեք և փակեք ծածկագրի պատուհանը, այժմ, երբ A1: B100 որևէ բջիջում մուտքագրեք կամ փոխեք արժեքը, հատուկ կոդը կկատարվի միանգամից:


Հեռացրեք բոլոր մակրոները բազմաթիվ աշխատանքային գրքերից

Excel- ի համար նախատեսված գործիքներ's Փաթեթում հեռացնել բոլոր մակրոները օգտակար ծրագիրը կարող է օգնել ձեզ հեռացնել բոլոր մակրոները բազմաթիվ աշխատանքային գրքերից, որքան ձեզ հարկավոր է: Ներբեռնեք և անվճար փորձեք Kutools Excel- ի համար հիմա:

Excel- ի համար նախատեսված գործիքներ. Excel- ի ավելի քան 300 հարմարավետ հավելումներով, 30 օրվա ընթացքում անվճար փորձեք առանց սահմանափակումների: Ներբեռնեք և անվճար փորձեք հիմա:


Առնչվող հոդվածներ քանակը:

Ինչպե՞ս գործարկել մակրո ինքնաբերաբար, նախքան Excel- ում տպելը:

Ինչպե՞ս գործարկել մակրո ՝ Excel- ում բջջային արժեքի հիման վրա:

Ինչպե՞ս գործարկել մակրո ՝ Excel- ում բացվող ցուցակից ընտրված արժեքի հիման վրա:

Ինչպե՞ս գործարկել մակրո ՝ Excel- ում հղումներ հղումով:

Ինչպե՞ս գործարկել մակրո, երբ թերթը ընտրվում է աշխատանքային գրքից:


Գրասենյակի արտադրողականության լավագույն գործիքները

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (17)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այս մոդուլն ինձ մոտ չի աշխատում: Այն ասում է, որ երբ բջիջի VALUE-ը փոխվի, այն կգործարկի կոդը: Ես գտնում եմ, որ եթե ես մուտքագրեմ բջիջի մեջ, այն աշխատում է, բայց եթե t բջիջի արժեքը փոխվում է բանաձևով, օրինակ՝ Counta-ով, ապա այն չի գործարկվում: Դուք ունե՞ք լուծում մակրո գործարկելու համար, երբ VALUE-ը փոխվում է բանաձևի միջոցով: Շնորհակալություն, Ուեյն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Նույն խնդիրը, ինչ Ուեյնը: Ցանկացած օգնություն շատ գնահատելի է: Շնորհակալություն Ռոննի
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև տղերք,

Այո, վերը նշված կոդը հասանելի է միայն այն դեպքում, երբ բջջային արժեքը փոխվում է ձեռքով: Եթե Ձեզ անհրաժեշտ է ավտոմատ կերպով գործարկել որոշակի մակրո կոդը, երբ բանաձևի արդյունքը փոխվում է իր հարաբերական բջիջների հետ, խնդրում ենք այցելել այս հոդվածը.
https://www.extendoffice.com/documents/excel/4618-excel-vba-run-macro-when-cell-formula-result-changes.html.
Խնդրում եմ փորձեք այն և հուսով եմ, որ ձեր պատասխանը կլինի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այն չի աշխատում... և ես ձեռքով փոխում եմ բջիջի արժեքը: Կա՞ որևէ նախնական կազմաձև, որը պետք է կարգավորվի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Փորձեք սա ընթացակարգում և օգտագործեք որպես պարամետր


Մասնավոր ենթաթերթ_Փոփոխություն (ByVal-ի նպատակը որպես միջակայք)

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

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այո, նկարագրությունը ասում է, որ այն պետք է գործարկվի, երբ արժեքը փոխվում է, բայց երկրորդ կոդը ասում է, որ դա այն է, երբ արժեքը ոչինչ է, և առաջինը չի գործարկվում, երբ արժեքը փոխվում է, բայց եթե ես սեղմեմ F5 կոդը նայելիս, այն ուզում է: գործարկելու MyMacro-ն, բայց կարծես թե չի արձագանքում արժեքային փոփոխություններին այնքան, որքան ոչնչից ինչ-որ բանի կամ հակառակի անցնելը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա առաջին անգամ աշխատեց ինձ համար՝ օգտագործելով տվյալների վավերացման ցուցակը, որը ցուցադրում է տեքստը՝ հիմնված ցուցակի ընտրության վրա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ համար հիանալի աշխատեց: Իմ երկընտրանքն այն է, որ ես ուզում եմ, որ դա լինի հարաբերական հղման մակրո, և տարբերություն կա մուտքագրումը պահպանելու համար enter սեղմելու և բջիջը մաքրելու համար ջնջելու միջև:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հեյ, օգտակար կոդ: Ես մտածում էի, թե արդյոք հնարավոր է օղակ մտցնել բջիջների շուրջ, որոնք փոխվում են, քանի որ դրանք փոխվում են: Իսկ վերականգնե՞լ շրջանակները ամեն երկուշաբթի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Քևին,
Այստեղ ձեր խնդիրը լուծելու գաղափար չկա, եթե լավ լուծում ունեք, խնդրում ենք մեկնաբանել այստեղ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Մակրոն, որը դուք զանգահարում եք, որտեղ եք գտնվում: Ես իմն ունեմ Modules թղթապանակում, բայց երբ ես որևէ արժեք եմ դնում աշխատաթերթի որևէ բջիջում, ես ստանում եմ Compile սխալ՝ ասելով.
Ակնկալվող փոփոխական կամ ընթացակարգ, ոչ մոդուլ:

Please help.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Դոկտոր Քարթրայթ,
Կներեք ձեզ այսքան ուշ պատասխանելու համար։
Այո, ինչպես ասացիք, մակրո կոդը պետք է տեղակայված լինի Մոդուլում, և դուք պետք է փոխեք ծածկագիրը ձեր սեփական անունով, ինչպես ցույց է տրված հետևյալ սքրինշոթը.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև լավ օր
quisiera saber el codigo para que se ակտիվ 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.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև տղաներ, ես լուծում եմ հետևյալ խնդիրը. ես ուզում եմ քերել վեբկայքի վերնագիրը, երբ հղումը տեղադրվի A սյունակում և տեղադրել այս արժեքը համապատասխան բջիջում (դրա կողքին) սյունակ B-ում: Խնդիրը կարծես թե այն է, որ երբ ես տեղադրում եմ կայքը A սյունակում, կոդը կրկնում է ամբողջ ցուցակը A2 սյունակից մինչև «վերջին տող», ինչպես սահմանված է կոդում: Կա՞ որևէ կերպ փոփոխելու B սյունակը միայն մեկ A սյունակը փոփոխելուց հետո: Այսինքն, եթե տեղադրեք հղումը A36 սյունակում, ես վերնագիր կստանամ B36-ում, անկախ նրանից բջիջը գտնվում է օգտագործված տիրույթի մեջտեղում, թե հենց ներքևում: Ես կցանկանայի օգտագործել սա՝ առանց մի քանի մուտքեր վերագործարկելու անհրաժեշտության, ինչպես ներկայումս է: (այսինքն «i =2-ի համար վերջին տող» հանգույցը): Բացի այդ, ես կցանկանայի փոխել ստորև նշվածը մոդուլային մակրոյից, այսինքն՝ ենթակայությունից դեպի մասնավոր ենթա, որոնք արձագանքում են փոփոխությանը (այսինքն՝ հատման ֆունկցիա), որտեղ «թիրախը» ցանկացած բջիջ է A:A միջակայքից: Շատ շնորհակալություն!


Sub get_title_header()



Dim wb որպես օբյեկտ

Dim doc-ը որպես օբյեկտ

Dim sURL որպես տող

Dim lastrow Քանի դեռ

lastrow = Sheet1.Cells(Rows.Count, "A").End(xlUp).շարք



i = 2-ի համար մինչև վերջ

Սահմանել wb = CreateObject («internetExplorer.Application»)

sURL = Բջիջներ (i, 1)



wb.navigate sURL

wb.Visible = False



Մինչ wb.Busy

DoEvents

գնալ



''HTML փաստաթուղթ

Սահմանել doc = wb.document



Բջիջներ(i, 2) = doc.Title



Սխալի դեպքում GoTo err_clear

Բջիջներ(i, 3) = doc.GetElementsByTagName("h1")(0).innerText

err_clear:

Եթե ​​սխալ <> 0 Ապա

Err.Clear

Resume Next

Վերջ: Եթե

wb.Դուրս գալ

Շրջանակ (Բջիջներ (i, 1), Բջիջներ (i, 3)). Սյունակներ. AutoFit

Հաջորդ i



Վերջ Sub




Շնորհակալություն!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձում եմ ավտոմատացնել 1 աշխատանքային գիրք (BOM), երբ մեկ այլ աշխատանքային գիրք (Parts Status) փոփոխություններ է կատարում: Մասերի կարգավիճակի ֆայլը թարմացվում է 15 րոպեն մեկ: Ես պետք է իմանամ, թե ինչպես ավտոմատացնել որոշակի սյունակ, երբ տեղի են ունենում այս փոփոխությունները: Ցանկացած գաղափար
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես օգտագործում եմ ստորև բերված կոդը՝ տարբեր սյունակներ թաքցնելու համար՝ կախված C3 բջիջում գտնվող բացվող տուփի ընտրությունից, բայց այն բանից հետո, երբ հաշվարկը կատարվում է աշխատաթերթի որևէ կետում, ԲՈԼՈՐ սյունակները դառնում են ՉԹաքնված: Ինչպե՞ս կարող եմ սա շտկել:

Private Sub Worksheet_Change (ByVal Target as Range)

Սյունակներ ("D:F").AutoFit

Dim Proj1 As String
Dim Proj2 As String
Dim Proj3 As String
Dim Proj4 As String
Dim Proj5 As String
Dim Proj6 As String
Dim Proj7 As String
Dim Proj8 As String
Dim Proj9 As String
Dim Proj10 As String

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

Dim xRG որպես տիրույթ
Dim xHRow Որպես ամբողջ թիվ
Սահմանել xRG = միջակայք («C3»)
If Not Intersect (Target, xRG) ոչինչ է, ապա

Եթե ​​Target.Value = Proj1 Ապա
Application.Columns ("E:F"). Hidden = True
Application.Columns("D"). Hidden = False

ElseIf Target.Value = Proj2 Այնուհետեւ
Range("D:D, F:F").EntireColumn.Hidden = True
Application.Columns («E»). Hidden = False

Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հենց այն է, ինչ ես փնտրում էի: Երբ օգտատերը արժեք է մուտքագրում բջիջում, կաշխատի պարզ տեսակավորման մակրո: Մակրոն ինքնին լավ է աշխատում, բայց ես ստանում եմ սեփականության անվավեր օգտագործման սխալ՝ օգտագործելով առաջարկվող կոդը:

Ինչ կարող է լինել խնդիրը:
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից