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

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

Որոշ դեպքերում կարող է անհրաժեշտ լինել կողպել կամ ապակողպել բջիջները ՝ ելնելով մեկ այլ բջջի արժեքներից: Օրինակ, ձեզ հարկավոր է B1: B4 միջակայքը ապակողպելու համար, եթե A1 բջիջը պարունակում է «Ընդունող» արժեք; և կողպել, եթե A1 բջիջը պարունակում է «Հրաժարում» արժեք: Ինչպե՞ս կարող ես դրան հասնել: Այս հոդվածը կարող է օգնել ձեզ:

Կողպեք կամ ապակողպեք բջիջները ՝ հիմնվելով VBA կոդով մեկ այլ բջջի արժեքների վրա


Կողպեք կամ ապակողպեք բջիջները ՝ հիմնվելով VBA կոդով մեկ այլ բջջի արժեքների վրա

Հետևյալ VBA կոդը կարող է օգնել ձեզ կողպել կամ ապակողպել բջիջները ՝ հիմնված Excel- ի մեկ այլ բջջի արժեքի վրա:

1. Աջ կտտացրեք թերթիկի ներդիրին (այն բջիջներով թերթը, որը դուք պետք է կողպեք կամ ապակողպեք ՝ ելնելով մեկ այլ բջիջի արժեքներից) և կտտացրեք Դիտել կոդը աջ կտտացնելու ցանկից:

2. Դրանից հետո պատճենեք և կպցրեք հետևյալ VBA կոդը օրենսգրքի պատուհանում:

VBA կոդ. Կողպել կամ ապակողպել բջիջները `հիմնված մեկ այլ բջիջի արժեքների վրա

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1") = "Accepting" Then
        Range("B1:B4").Locked = False
    ElseIf Range("A1") = "Refusing" Then
        Range("B1:B4").Locked = True
    End If
End Sub

3. Սեղմեք ալտ + Q ստեղները միաժամանակ փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

Այսուհետ, երբ A1 բջիջ եք մուտքագրում «Ընդունող» արժեքը, B1: B4 միջակայքն ապակողպվում է:

A1 բջիջում «Հրաժարում» արժեքը մուտքագրելիս նշված B1: B4 տիրույթը ավտոմատ կերպով կողպվում է:


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


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (52)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ կողպել/բացել փոփոխական բջիջը, օրինակ, երբ բջիջը [=INDEX(A16:L35,MATCH(W5,A16:A35,0),MATCH(«PAY»,A16:L16,0))] է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ պարզ VBA հրաման, որը ես չեմ կարողանում պարզել, խնդրում եմ օգնեք
Եթե ​​A1 բջիջը Balnk է, ապա A2 բջիջը կողպված է, իսկ եթե A1 բջիջը պարունակում է որևէ արժեք, ապա բջիջ A2-ն ապակողպված է:
Նմանապես, եթե A2 բջիջը դատարկ է, ապա A3 բջիջը կողպված է, իսկ եթե A2 բջիջը պարունակում է որևէ արժեք, ապա բջիջ A3-ն ապակողպված է:
և այլն այնքան բջիջներ, որքան պահանջվում է թերթի ցանկացած մասում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես փորձում եմ հասնել դրան, բայց ես սխալ եմ ստանում, որ VBA-ն չի կարողանում սահմանել Range դասի Locked հատկությունը, եթե թերթը պաշտպանված է: Թերթիկը չպաշտպանելը կզրկվի կողպված բջիջից: Ինչպե՞ս շրջանցել սա: Շնորհակալություն ցանկացած օգնության համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դուք լուծե՞լ եք: Ես նույն խնդիրն ունեմ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի հուշագիր,
Խնդրում ենք փորձել ստորև բերված VBA կոդը:

Մասնավոր ենթաթերթ_Ակտիվացնել()
If Not ActiveSheet.ProtectContents Ապա
Շրջանակ ("A1").Կողպված = Սխալ
Շրջանակ ("B1:B4").Կողպված = Կեղծ
Վերջ: Եթե
Վերջ Sub
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim xRg որպես միջակայք, xRgA որպես միջակայք
Ս.թ. սխալի Ռեզյումե Next
Application.EnableEvents = False
Սահմանել xRg = միջակայք («B1:B4»)
Սահմանել xRgA = միջակայք («A1»)
Եթե ​​հատվում է (Target, xRg).Հասցե <> Target.Address _
Կամ xRgA = «Ընդունել» Հետո
Application.EnableEvents = Ճիշտ է
Ելք ենթ
ElseIf ActiveSheet.ProtectContents _
Եվ հատում (Թիրախ, xRg) = Թիրախ _
Եվ xRgA.Value = «Հրաժարվում է» Հետո
xRgA.Ընտրեք
Վերջ: Եթե
Application.EnableEvents = Ճիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դուք կցանկանաք օգտագործել աշխատանքային գրքում միջերեսի գիծը, որպեսզի երբ բացեք ֆայլը, այն պաշտպանում է թերթերը, բայց այնուամենայնիվ թույլ է տալիս մակրոներին փոփոխություններ կատարել.

Private Sub Workbook_Open() 'Սա մտնում է «This Workbook»

Աշխատանքային թերթիկներ («Պատվերի գործիք»).Պաշտպանեք գաղտնաբառը:="Pwd", UserInterFaceOnly:=True

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սիրելի մրջյուն,
Ստորև բերված VBA կոդը կարող է օգնել ձեզ լուծել այս խնդիրը: Շնորհակալություն մեկնաբանության համար։

Մասնավոր ենթաթերթ_Ակտիվացնել()
If Not ActiveSheet.ProtectContents Ապա
Շրջանակ ("A1").Կողպված = Սխալ
Շրջանակ ("B1:B4").Կողպված = Կեղծ
Վերջ: Եթե
Վերջ Sub
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim xRg որպես միջակայք, xRgA որպես միջակայք
Ս.թ. սխալի Ռեզյումե Next
Application.EnableEvents = False
Սահմանել xRg = միջակայք («B1:B4»)
Սահմանել xRgA = միջակայք («A1»)
Եթե ​​հատվում է (Target, xRg).Հասցե <> Target.Address _
Կամ xRgA = «Ընդունել» Հետո
Application.EnableEvents = Ճիշտ է
Ելք ենթ
ElseIf ActiveSheet.ProtectContents _
Եվ հատում (Թիրախ, xRg) = Թիրախ _
Եվ xRgA.Value = «Հրաժարվում է» Հետո
xRgA.Ընտրեք
Վերջ: Եթե
Application.EnableEvents = Ճիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Հնարավո՞ր է արդյոք այս VBA կողպեքը բջիջների մի շարք կողպել/բացել մյուսը դրա հիման վրա: Օրինակ B1:B4 միջակայքն ապակողպված է, իսկ C1:C4-ը կողպված է «ընդունելու» համար, այնուհետև B1:B4 կողպված է, իսկ C1:C4-ն ապակողպված է «հրաժարվելու» համար:


Thanks,
Քրիստոնյա
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սիրելի քրիստոնյա,
Ձեր աշխատաթերթը պաշտպանվա՞ծ է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
խնդրում եմ ինչ-որ մեկը կարող է ինձ օգնել հետևյալ հարցում.
Ուզում եմ աշակերտի նկարները տեղադրել մի թերթիկի մեջ, որը հայտնվում է մեկ այլ թերթում՝ ելնելով նրանց անուններից
Օգտատերերին օգնելու համար նավիգացիոն ինքնաթիռ ստեղծելու համար
Օգտատիրոջը որոշակի թերթիկ(ներ) հատկացնելու համար
Աշխատանքային գրքի համար ինտերֆեյս ստեղծելու համար
Մուտքի էջ ստեղծելու համար
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Լեո,
Excel-ի հետ կապված ցանկացած հարց, խնդրում ենք մի հապաղեք տեղադրել մեր ֆորումում. https://www.extendoffice.com/forum.html.
Excel-ի մասին ավելի շատ աջակցություն կստանաք մեր Excel մասնագետից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,

Ես փորձել եմ ձեր կոդը և մի փոքր խմբագրել, բայց չեմ կարողանում պարզել, թե ինչ եմ սխալ անում այստեղ:

Private Sub Worksheet_Change (ByVal Target as Range)
If Range ("A40") <> "" Ապա
Շրջանակ ("D40:E40"): Կողպված = Կեղծ
ElseIf Range ("A40") = "" Ապա
Շրջանակ ("D40:E40"): Կողպված = Ճշմարիտ
Վերջ: Եթե
Վերջ Sub


Իմ կարծիքը դրա մասին այն էր, եթե դրա մեջ ոչինչ չկա (A40): Հետո ես ուզում եմ փակել VBA-ով: Եթե ​​A40-ը պարունակում է ինչ-որ բան, ապա ես ուզում եմ, որ այն ապակողպվի: Հուսով եմ, որ դուք կարող եք տեսնել դրա իմաստը:


Հարգանքներով՝ Քրիստոֆեր
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Ձեր կոդի մեջ ոչ մի վատ բան չկա: Ինձ մոտ լավ է ստացվում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն. Ես նույնպես չեմ կարող այս կոդը գործի դնել: Դա բացարձակապես ոչինչ չի անում: Ոնց որ կոդը նույնիսկ չկա?? Ես շատ նոր եմ VBA-ում և դրա մասին հիմնական հասկացողություն ունեմ: Արդյո՞ք այս կոդը գործարկվում է այնպես, ինչպես կա, թե՞ դրա վրա պետք է ավելացվեն նյութեր, որպեսզի այն աշխատի: Կամ վերածվել է մակրո (որը ես իրականում չեմ հասկանում, թե ինչու, քանի որ դա հրահանգների ձայնագրություն է, ըստ իմ հասկացողության)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
ԻՆՉ ԿԼԻՆԻ ԿՈԴԸ, ԵԹԵ ԵՍ ՈՒԶՈՒՄ ԵՄ ԿՈՂՊԱՓԵԼ E1, E2, E3 բջիջը .............. ՀԱՏՈՒԿ ՏԵՔՍՏԻ ՀԱՄԱՐ (ԱՍԵՆՔ «P») B1, B2, B3 բջիջների վրա... ..............ՀԱՄԱՊԱՏԱՍԽԱՆ.

ՇՆՈՐՀԱԿԱԼ ԵՄ ՆԱԽԱՊԵՍ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր
Խնդրում ենք փորձել VBA սկրիպտի տակ:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Count = 1 Ապա
Եթե ​​Target.Address = Range("A1").Address And Target.Value = "A" Այնուհետեւ
Շրջանակ («B1»).Կողպված = Ճշմարիտ
ElseIf Target.Address = Range("A2").Address And Target.Value = "A" Այնուհետեւ
Շրջանակ («B2»).Կողպված = Ճշմարիտ
ElseIf Target.Address = Range("A3").Address And Target.Value = "A" Այնուհետեւ
Շրջանակ («B3»).Կողպված = Ճշմարիտ
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր!
Մնե այն չի նշանակում, որ չի աշխատում, բայց դա կախված է այն բանից, թե ինչ նշանակություն ունի ուրիշի համար, բայց չի աշխատում, բայց չի աշխատում, об ошибке, ячейка, которая должна быть заблокирована - просто не блокируется, остается ակտիվй. В чем может быть պատճառ?

Вот код, который я использовала:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Coun t=1 Ապա
If Target.Address = Range("C9").Address And Target.Value = "согласно плану" Այնուհետեւ
Շրջանակ ("C10").Կողպված = Ճշմարիտ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ուրվական,
Կներեք, որ ես այնքան էլ չեմ հասկանում, թե ինչ նկատի ունեք: Պարզության համար խնդրում ենք կցել նմուշ ֆայլ կամ սքրինշոթ՝ ձեր տվյալների և ցանկալի արդյունքների հետ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն! խորհուրդ է պետք:
Կա՞ որևէ միջոց, որը թույլ չի տալիս բջիջը թարմացնել, քանի դեռ այն չի բավարարել մեկ այլ բջիջի պայմանը:
Նմուշ. եթե A բջիջը չթարմացվի, դա ինձ թույլ չի տա փոխել B բջիջի արժեքը՝ ավարտելու համար:

Գնահատեք արձագանքը:
Thanks!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Մարգի,
Խնդրում ենք փորձել ստորև VBA կոդը:

Dim PreVal As String
Dim NextVal-ը որպես լար
Մասնավոր ենթաթերթ_Ակտիվացնել()
PreVal = միջակայք («A1»)
NextVal = միջակայք («A1»)
Վերջ Sub
Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​(Target.Count = 1) And (Target.Address = «$A$1») Ապա
NextVal = միջակայք («A1»)
Վերջ: Եթե
Վերջ Sub
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Եթե ​​Target.Count = 1 Ապա
If Target.Address = «$A$1» Ապա
PreVal = միջակայք («A1»)
ElseIf (Target.Address = «$B$1») Այնուհետև
Եթե ​​PreVal = NextVal Ապա
Application.EnableEvents = False
Շրջանակ («A1»): Ընտրեք
Application.EnableEvents = Ճիշտ է
Վերջ: Եթե
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
կարո՞ղ է ինչ-որ մեկը ուղղել սա: pls>>

Private Sub Worksheet_Change (ByVal Target as Range)
i = 7-ից 100-ի համար
If Range("Cells(D, i)") = "Loan" Այնուհետեւ
Շրջանակ ("Cells(V, i):Cells(X, i)").Կողպված = True
ElseIf Range ("Cells(D, i)") = "Խնայողություններ" Ապա
Շրջանակ ("Cells(Q, i):Cells(U, i)").Կողպված = True
Շրջանակ ("Cells(W, i):Cells(X, i)").Կողպված = True
ElseIf Range ("Cells(D, i)") = "ShareCap" Այնուհետեւ
Շրջանակ ("Cells(Q, i):Cells(U, i)").Կողպված = True
Շրջանակ («Բջիջներ (V, i)»): Կողպված = Ճշմարիտ
Վերջ: Եթե
Հաջորդ i
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն! Ինչ-որ մեկը կարո՞ղ է օգնել ինձ: Ես պետք է կողպեմ/սառեցնեմ բջիջը: Այդ բջիջը կապված է մեկ այլ բջիջի հետ և ունի արժեք, որը փոխվում է ամեն րոպե: Ինչ պետք է անեմ, արժեքը որոշակի րոպե/ժամ պահելն է: Ինչպե՞ս կարող եմ դա անել առանց պատճենելու և որպես արժեք տեղադրելու:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Միրա,
Կներեք, որ չեմ կարող օգնել այս հարցում, դուք կարող եք տեղադրել ձեր հարցը մեր ֆորումում. https://www.extendoffice.com/forum.html ստանալ ավելի շատ Excel աջակցություն մեր մասնագետից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Ես իսկապես նոր եմ այս հարցում:
Ես փորձում էի Excel-ում միացնել հաշիվ-ապրանքագրերի համակարգը:
Ստեղծեցի 3 թերթ:
1. Հաշիվ-ապրանքագրի ձևանմուշ (Invoice)- Պարզապես ընդհանուր հաշիվ-ապրանքագիր, որն ամեն շաբաթ ուղարկվում է իմ գործակալներին:

2. Տվյալների թերթիկ (Տվյալների թերթիկ) ճշգրիտ, որտեղ հաշիվ-ապրանքագիրը կարող է կարդալ ընկերության անվանումը և այլն, այնպես որ, եթե որևէ բան փոխվի, հաշիվը ավտոմատ կերպով կթարմացվի:

3. Օրացույցի ներդիր (Օրացույց 2018), որը նշված է ապրանքագրի ձևանմուշում և փաստացի հաշիվ-ապրանքագրերի վրա դնում է համապատասխան ամսաթիվը և ապրանքագրի համարը:

Ինչ եմ ուզում անել.
Օրացույցի ներդիրը կլինի իմ գլխավոր էջը, ես յուրաքանչյուր շաբաթվա համար ավելացրել եմ կարգավիճակի բացվող բջիջ՝ «Ակտիվ» և «Փակ» տարբերակներով: Ես կցանկանայի կողպել ամբողջ «Invoice» ներդիրը, եթե համապատասխան բջիջը դրված է «Փակ»:

Հուսով եմ, տղաներ, դուք հասկանում եք, թե ինչ եմ ես փորձում անել:
Thanks in advance.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Անդո Վերես.
Ստորև բերված VBA կոդը կարող է օգնել ձեզ: Խնդրում ենք տեղադրել կոդը Օրացույցի 2018 թվականի փոփոխության A1 թերթի կոդի պատուհանում՝ ձեր բացվող բջիջում: Շնորհակալություն.

Private Sub Worksheet_Change (ByVal Target as Range)
Dim xRg որպես տիրույթ
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRg = Խաչմերուկ (Թիրախ, միջակայք («A1»))
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
Եթե ​​Target.Validation.Type >= 0 Ապա
If Target.Value = «Փակ» Ապա
Թերթեր («Տվյալների թերթիկ»): Պաշտպանեք
ElseIf xRg.Value = «Ակտիվ» Հետո
Թերթեր («Տվյալների թերթիկ»): Ապապաշտպանել
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես պատրաստում եմ պահեստի ֆոնդերի կառավարում excel ձևանմուշով: Պաշարը առաքելու համար ես պետք է թողարկեմ դարպասի անցագիր: Ես ուզում եմ յուրաքանչյուր դարպասի անցում, համապատասխան տվյալները կթարմացվեն ամենօրյա պահեստավորման էջում: Դարպասի անցման սերիայի համարի փոփոխությամբ, շարքը կկողպվի, իսկ հաջորդը կլցվի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Լավ կլինի, եթե կարողանաք վերբեռնել ձեր աշխատանքային գրքույկը այստեղ: Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Խնդրում եմ, կարո՞ղ եք ինձ ուղղորդել, թե ինչն է սխալ այստեղ: Նախապես շնորհակալություն.

Private Sub Worksheet_Change (ByVal Target as Range)
If Range("K:K") = "OVER STOCK" Ապա
Շրջանակ ("S:S").Կողպված = Ճշմարիտ
ElseIf Range("K:K") = "ԴԱՆԱՑ ՇԱՐԺՈՒՄ" Հետո
Շրջանակ ("S:S").Կողպված = Ճշմարիտ
ElseIf Range("K:K") = "NORMAL" Այնուհետեւ
Շրջանակ ("S:S").Կողպված = Սխալ
ElseIf Range("K:K") = "SHORTAGE" Այնուհետեւ
Շրջանակ ("S:S").Կողպված = Սխալ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կցանկանայի՞ք ինձ խորհուրդ տալ, թե ինչպես դա ուղղել: Նախապես շնորհակալություն.

Private Sub Worksheet_Change (ByVal Target as Range)
If Range("A:A") = "ԴԱՆԱՑ ՇԱՐԺՈՒՄ" Ապա
Շրջանակ ("B:B").Կողպված = Ճշմարիտ
ElseIf Range("A:A") = "OVER STOCK" Հետո
Շրջանակ ("B:B").Կողպված = Ճշմարիտ
ElseIf Range("A:A") = "NORMAL" Այնուհետեւ
Շրջանակ («B:B»).Կողպված = Կեղծ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լինելով VB փորձագետ, ես կասեի, որ դուք չափազանց շատ «Elseif» ունեք. եթե դրանք բոլորը փոխեք միայն IF-ի, բացառությամբ վերջինի, ապա հուսով եմ, որ դա կաշխատի:
Հիմնականում, եթե X-ն անի սա, եթե Y-ն անի սա, եթե Z-ն անի սա, եթե դրանցից ոչ մեկը՝ արա սա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպիսի՞ն կլիներ կոդը, եթե ես ցանկանայի կողպել բջիջների մի բլոկի (տողեր 6, 7 և 8/D-ից U-ից մինչև տառերը, ինչպես նաև F5 և J5 բջիջները) և թույլ տայի, որ դրանք ապակողպվեն, երբ ես «X» դնեմ E5 բջիջում: Նախապես շնորհակալություն!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Միչի II,
Ուզում եք ասել, որ նշված բջիջների բլոկը նախապես կողպվել է ձեռքով և պարզապես ուզում եք դրանք բացել՝ E5 բջիջում «X» մուտքագրելով:
Եթե ​​E5 բջիջից հանեք «X»-ը, ցանկանու՞մ եք նորից կողպել միջակայքերը:
Խնդրի մասին ավելի շատ մանրամասներ են պետք:
Շնորհակալություն մեկնաբանության համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Միթչիլ (կամ որևէ մեկին), որը կառուցում է Crystal-ը: Ես ձեռքով կողպել եմ բոլոր բջիջները և G սյունակի տեղեկատվության հիման վրա ես կցանկանայի, որ դրանք մնան կողպված կամ ապակողպված: H սյունակի օրինակ բջիջները պետք է ապակողպվեն ՄԻԱՅՆ, եթե «c/p»-ը տեղադրված է G սյունակի նախորդ բջիջում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հնարավո՞ր է արգելափակել բջիջը, երբ այն հասնում է որոշակի արժեքի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, կարո՞ղ եք սիրով ստուգել, ​​թե ինչու է այն չի աշխատում:

Private Sub Worksheet_Change (ByVal Target as Range)
If Range("A3:A37").Value <> "" Այնուհետեւ
Շրջանակ ("B3:B37"): Կողպված = Ճշմարիտ
ElseIf Range("A3:A37") = "" Ապա
Շրջանակ ("B3:B37").Կողպված = Կեղծ
Վերջ: Եթե

If Range("B3:B37").Value <> "" Այնուհետեւ
Շրջանակ ("A3:A37").Կողպված = Ճշմարիտ
ElseIf Range("B3:B37") = "" Ապա
Շրջանակ ("A3:A37").Կողպված = Կեղծ
Վերջ: Եթե

Վերջ Sub


Կանխավ շատ շնորհակալ եմ!!!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi
Ես հենց նոր փորձեցի օգտագործել վերը նշված կոդը
և ասում է տիպի 13 սխալ, երբ փորձում եմ օգտագործել այն:
կարո՞ղ եք ինձ օգնել այս հարցում:

Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Excel-ի ո՞ր տարբերակն եք օգտագործում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
hi

եթե ես պետք է կողպեմ բջիջը 2-րդ թերթում (բջիջ C4)՝ հիմնվելով 1-ին թերթի հայցի վրա (C1 բջիջ),
եթե «ոչ» թերթ 1 C4; Թերթ 2-ը պետք է կողպված լինի և արժեքը փոխանցի 1 C4 թերթիկից,
թերթ 2 C4.

եթե «այո» թերթի 1-ում, ես պետք է կարողանամ մուտքագրել 2-րդ թերթի բջիջը

Շնորհակալություն Բենթե
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, խնդրում եմ որևէ մեկը օգնի ինձ VBA կոդի համար:

եթե ես ընտրում եմ բացվող բջիջների միջակայքից (A1:A1000) «abc», ապա չեմ արգելափակում միջակայքը (D1:D1000) մինչև (F1:F1000)



եթե ես ընտրում եմ բացվող բջիջների միջակայքից (A1:A1000) «abc», ապա չեմ արգելափակում միջակայքը (D1:D1000) մինչև (F1:F1000)



եթե ես ընտրում եմ բացվող բջիջների միջակայքից (A1:A1000) «abc», ապա կողպում եմ միջակայքը (D1:D1000) մինչև (F1:F1000)



այսինքն համապատասխան բջիջ A1 D1-ից F1-ի համար



A2 համար D2-ից F2-ի համար
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ամեն ինչ վերևից պատճենեցի թերթիկի մեջ: Այն աշխատեց մի վայրկյան, և հիմա ես ստանում եմ սխալ՝ «Անհնար է սահմանել Range դասի Locked հատկությունը»: Ես նույնիսկ բացեցի բոլորովին նոր թերթիկ և բառացի պատճենեցի քո օրինակը: Կա՞ պատկերացում, թե ինչ է կատարվում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,

Ես քո բարեհաճության կարիքն ունեմ: երբ ես ընտրում եմ «Ոչ տարբերակ» բջիջից, ես ցանկանում եմ, որ ներքևի սյունակները կողպվեն/մոխրագույն լինեն:

Հնարավո՞ր է դա։ Ես փորձեցի այս բանաձևը, բայց չաշխատեց

Private Sub Worksheet_Change (ByVal Target as Range)

If Range ("D90") = "Այո" Ապա

Շրջանակ ("C94:F104"): Կողպված = Կեղծ

ElseIf Range("D90") = "Ոչ" Ապա

Շրջանակ ("C94:F104"): Կողպված = Ճշմարիտ

Վերջ: Եթե

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ստեֆի,
Կոդը լավ է աշխատում։
Եթե ​​ցանկանում եք կողպել բջիջների շրջանակը՝ խմբագրումը կանխելու համար, դուք պետք է ձեռքով պաշտպանեք աշխատաթերթը՝ D90-ում «Ոչ մի տարբերակ» ընտրելուց հետո:
Եվ քանի որ D90-ը գտնվում է C94:F104 միջակայքում, աշխատաթերթը պաշտպանելուց հետո D90-ը նույնպես հնարավոր չէ խմբագրել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
D90-ը տիրույթում չէ: C4-ից 94 տողով է
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

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