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

Ինչպե՞ս Excel- ում բջջային արժեքի հիման վրա ավտոմատ ներդնել շարքը:

doc-insert-row-based-based-value-1
Ենթադրենք, որ դուք ունեք տվյալների մի շարք, և դուք ցանկանում եք ավտոմատ կերպով տեղադրել Excel- ում որոշակի արժեքի վերևից կամ ներքևից դատարկ տողեր, օրինակ `ավտոմատ ներդնել տողեր զրոյական արժեքից ցածր, ինչպես ցույց է տրված նկարում: Excel- ում ոչ մի ուղի չկա, որը կարող է լուծել այս խնդիրը, բայց ես կարող եմ ձեզ համար ներկայացնել մակրո կոդ ՝ Excel- ում որոշակի արժեքի հիման վրա տողեր ավտոմատ տեղադրելու համար:
Տեղադրեք տողը ներքևում `հիմնվելով VBA- ի բջջային արժեքի վրա

Տեղադրեք վերևում շարքը ՝ հիմնված բջջային արժեքի վրա Kutools- ի համար Excel- ի լավ գաղափար 3

VBA գործարկմամբ բջիջի արժեքի հիման վրա տող տեղադրելու համար կատարեք հետևյալ քայլերը.

1. Մամուլ Alt + F11 ստեղները միաժամանակ, և ա Microsoft Visual Basic հավելվածների համար պատուհանը դուրս է գալիս:

2: սեղմեք Տեղադրել > Մոդուլներ, ապա կպցրեք ներքևում գտնվող VBA կոդի վրա ՝ դուրս գալու համար Մոդուլներ պատուհան.

VBA. Ներդիր տողը ներքևում ՝ ելնելով բջջային արժեքից:

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

3: սեղմեք F5 բանալին կամ Վազում կոճակը, դուրս է գալիս երկխոսություն և ընտրում սյունը զրո: Տեսեք,
doc-insert-row-based-based-value-2

4: սեղմեք OK, Դրանից հետո դատարկ տողերը կտեղադրվեն զրոյական արժեքից ցածր:
doc-insert-row-based-based-value-3

Ակնարկ:

1. Եթե ցանկանում եք տողեր տեղադրել այլ արժեքի հիման վրա, կարող եք փոխել 0 ցանկացած արժեքի, որը ցանկանում եք VBA- ում. Եթե ​​Rng.Value = "0" ապա.

2. Եթե ցանկանում եք զրոյից կամ այլ արժեքից բարձր տողեր տեղադրել, կարող եք օգտագործել ստորև նշված vba կոդը:

VBA. Տեղադրեք տողը զրոյական արժեքից վեր.

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

doc-insert-row-based-based-value-4


Եթե ​​ծանոթ չեք VBA- ին, կարող եք փորձել Excel- ի համար նախատեսված գործիքներ's Ընտրեք հատուկ բջիջներ օգտակարություն, ապա վերևում շարքեր տեղադրեք:

Excel- ի համար նախատեսված գործիքներ, ավելի քան 300 հարմար գործառույթներ, ավելի հեշտացնում է ձեր գործերը: 

Տեղադրելուց հետո Excel- ի համար նախատեսված գործիքներ, խնդրում ենք վարվել ինչպես ստորև ՝(Անվճար ներբեռնեք Kutools- ի համար Excel- ը հիմա!)

1. Ընտրեք ցուցակը, որից ուզում եք պարզել կոնկրետ բջիջները և կտտացնել Կուտոլս > ընտրել > Ընտրեք հատուկ բջիջներ, Տեսեք,
doc ներդիրի տող, որը հիմնված է 9 արժեքի վրա

2. Բացվող պատուհանում ստուգեք Ամբողջ շարքը տարբերակը, ապա անցեք ընտրելու հավասար - ից Հատուկ տեսակ ցուցակը, ապա մուտքագրեք ճիշտ տուփի տուփում այն ​​արժեքը, որը ցանկանում եք գտնել: Տեսեք,
doc ներդիրի տող, որը հիմնված է 6 արժեքի վրա

3: սեղմեք Ok, և դուրս է գալիս երկխոսություն ՝ ընտրված շարքերի քանակը հիշեցնելու համար, պարզապես փակեք այն:

4. Տեղադրեք կուրսորը մեկ ընտրված շարքում և ընտրելու համար սեղմեք աջ Տեղադրել համատեքստային ընտրացանկից: Տեսեք,
doc ներդիրի տող, որը հիմնված է 7 արժեքի վրա

Այժմ տողերը տեղադրվում են վերևում ՝ հիմնվելով որոշակի արժեքի վրա:
doc ներդիրի տող, որը հիմնված է 8 արժեքի վրա


Հարաբերական հոդվածներ:


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (43)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ հատուկ բովանդակություն տեղադրել ներքևի բջիջի տակ: Ինչպե՞ս դա անել: Դատարկ տողի փոխարեն, ես ուզում եմ արժեք տեղադրել մի քանի սյունակներում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես ուզում եմ մի քանի տող զետեղել արժեքի հիման վրա Օրինակ. Ես ուզում եմ տեղադրել 1 դատարկ տող 2 արժեքով բջիջի տակ, 2 տող 3 արժեքով բջիջից ներքև, 3 արժեք ունեցող բջիջից ներքև 4 տող և այլն: խնդրում եմ օգնեք ինձ այս հարցում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սրա պատասխանը երբևէ ստացե՞լ եք: Ես փորձում եմ նույն բանն անել:

Ունեցեք աշխատողների ցուցակ, որոնցում նրանք ստանում են # շաբաթ արձակուրդ: Ես ուզում եմ յուրաքանչյուր շաբաթվա համար տող տեղադրել: Դա կլինի 1, 2 կամ 3 տող՝ կախված նրանից, թե որքան ժամանակ են նրանք վաստակել: #s 1 2 3-ն արդեն իմ աղյուսակում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ տողեր զետեղել հաշվարկի հիման վրա՝ օգտագործելով բջիջի արժեքը մեկ աղյուսակում և տողեր զետեղելով մեկ այլ աղյուսակում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ձեր հաղորդագրության շնորհիվ: Բայց կարո՞ղ եք ավելի մանրամասն նկարագրել ձեր հարցը: Ի՞նչ տողեր եք ուզում տեղադրել: Դատարկ? Իսկ որտե՞ղ եք ուզում տեղադրել թերթիկում: Եթե ​​կարող եք, տվեք ինձ սքրինշոթ: Շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես սիրում եմ քեզ. Շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դա ապշեցուցիչ էր!! Շնորհակալություն եղբայր.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ տեղադրել մեկից ավելի տող:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դուք կարող եք փորձել այս VBA-ն

Sub BlankLine ()
«Թարմացում մինչև 20150203 թթ
Dim Rng որպես միջակայք
Dim WorkRng որպես տիրույթ
Dim xInsertNum այնքան երկար
«Սխալի դեպքում վերսկսել հաջորդը
xTitleId = «Excel-ի համար նախատեսված գործիքներ»
Սահմանել WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
Եթե ​​WorkRng-ը ոչինչ չէ, ապա դուրս եկեք Sub
xInsertNum = Application.InputBox («Դատարկ տողերի թիվը, որը ցանկանում եք տեղադրել», xTitleId, Type:=1)
Եթե ​​xInsertNum = Սխալ, ապա
MsgBox «Դատարկ տողերի թիվը, որը ցանկանում եք տեղադրել», vbInformation, xTitleId
Ելք ենթ
Վերջ: Եթե
Սահմանել WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Դիմում. ScreenUpdating = Սուտ է
xRowIndex-ի համար = xLastRow Դեպի 1 Քայլ -1
Սահմանել Rng = WorkRng.Range («A» և xRowIndex)
Եթե ​​Rng.Value = "0" ապա
Rng.Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
Վերջ: Եթե
հաջորդ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
եթե ցանկանում եք ներքևում դատարկ տողեր տեղադրել, փորձեք սա

Sub BlankLine ()
«Թարմացում մինչև 20150203 թթ
Dim Rng որպես միջակայք
Dim WorkRng որպես տիրույթ
Dim xInsertNum այնքան երկար
«Սխալի դեպքում վերսկսել հաջորդը
xTitleId = «Excel-ի համար նախատեսված գործիքներ»
Սահմանել WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
Եթե ​​WorkRng-ը ոչինչ չէ, ապա դուրս եկեք Sub
xInsertNum = Application.InputBox («Դատարկ տողերի թիվը, որը ցանկանում եք տեղադրել», xTitleId, Type:=1)
Եթե ​​xInsertNum = Սխալ, ապա
MsgBox «Դատարկ տողերի թիվը, որը ցանկանում եք տեղադրել», vbInformation, xTitleId
Ելք ենթ
Վերջ: Եթե
Սահմանել WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Դիմում. ScreenUpdating = Սուտ է
xRowIndex-ի համար = xLastRow Դեպի 1 Քայլ -1
Սահմանել Rng = WorkRng.Range («A» և xRowIndex)
Եթե ​​Rng.Value = "0" ապա
Rng.Offset(1, 0).Չափափոխել(xInsertNum).EntireRow.Insert Shift:=xlDown
Վերջ: Եթե
հաջորդ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub

Ստորև բերվածը վերևում տողեր տեղադրելու համար է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
HI Sunny, այս մակրոն հիանալի աշխատում է ինձ համար; Ես պարզապես պետք է փոխեի տողերի քանակը 30-ի, իսկ 0-ը դարձնեմ տեքստ՝ «Փակման մնացորդ»: Բայց հիմա ես ուզում եմ պատճենել 30 տող բարձրությամբ բջիջների ընտրությունը 30 դատարկ տողերի մեջ, որոնք հենց նոր տեղադրվեցին այս մակրոյով: Կարո՞ղ եք առաջարկել նոր մակրո (կամ այս մեկի փոփոխություն)՝ յուրաքանչյուր 30 դատարկ տողում ընդգրկույթ պատճենելու և տեղադրելու համար: Ես անվանել եմ «կաղապար» պատճենելու և տեղադրելու համար նախատեսված տիրույթը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես հսկայական օգնության կարիք ունեմ այս թեմայով: Ես ունեմ 2 սյունակ, 1-ին ունեմ իմ տվյալների ժամանակը 01/01/2016 05:00:00, օրեր/ամիսներ/տարի ժամ/րոպե/վայրկյան, իսկ 2-րդ սյունակում՝ համապատասխան տվյալները՝ կապված ժամանակի հետ:

Իմ խնդիրն այն է, որ ես ուզում եմ ավելացնել տվյալների ժամանակը տողերի միջև, քանի որ ես օրերի բացեր ունեմ: 1-ին տողը 01/01/2016 է, իսկ 2-րդ շարքը ունի, օրինակ, 10/01/2016, ուստի ես ունեմ 9 օր: և այդ կոդը ինձ մոտ չի աշխատում:

Անհամբեր սպասում ենք արձագանք ստանալուն, խնդրում եմ: Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դուք կարող եք փորձել այս VBA-ն

SubInsertValueBetween()
«Թարմացնել 20130825
Dim WorkRng որպես տիրույթ
Dim Rng որպես միջակայք
Dim outArr As Variant
Dim dic Որպես տարբերակ
Սահմանել dic = CreateObject ("Scripting.Dictionary")
«Սխալի դեպքում վերսկսել հաջորդը
xTitleId = «KutoolsforExcel»
Սահմանել WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Արժեք
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count) Value
ընդմիջում = num2 - num1
ReDim outArr (1-ից ընդմիջում + 1, 1-ից 2)
Յուրաքանչյուր Rng-ի համար WorkRng-ում
dic(Rng.Value) = Rng.Offset(0, 1).Value
հաջորդ
i = 0-ի համար Դեպի ընդմիջում
outArr(i + 1, 1) = i + num1
Եթե ​​dic.Exists(i + num1) Ապա
outArr(i + 1, 2) = dic (i + num1)
Ուրիշ
outArr(i + 1, 2) = ""
Վերջ: Եթե
հաջորդ
WorkRng.Range-ով («A1»). Չափափոխել (UBound(outArr, 1), UBound(outArr, 2))
.Արժեք = outArr
.Ընտրեք
Վերջ
Վերջ Sub


Կամ եթե ունեք Kutools Excel-ի համար, կարող եք փորձել այս գործառույթը.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շատ շնորհակալ եմ, ես երկուսն էլ փորձել եմ, առաջինը, քանի որ ունեմ 1 տող տվյալների նման, ես դա անում եմ բոլոր 500 տողերի համար և ոչինչ չի անում, կարծում եմ, որ երևի թե տողերի օգտագործման սահմանափակում ունի, և երբ ընտրում եմ միայն առաջին 500 տողերը, օրինակ, այն չի ստեղծում բացակայող տողերը, փոխարինում է բացակայող տվյալների տողերը:

Մեկ այլ խնդիր, որը ես ունեմ, այն է, որ իմ ժամանակի տվյալները նույնպես ունեն Օր/Ամիս/Տարի HH: MM: SS
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
2-ից 3-ը ստեղծում է բացակայող տվյալները, որոնք ես ուզում եմ լավ, բայց 03/01/2016-ի արժեքը վերացված է, և կան որոշակի ժամանակային տվյալներ, որոնք վերացվում են մի բան, որը ես նույնպես չեմ ուզում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կներեք, որ VBA կոդը ձեզ չօգնեց, ես չեմ կարող գտնել այն մեթոդը, որը կարող է աշխատել ամսաթվի և ժամի ձևաչափի համար: Եթե ​​վերջապես գտնեք լուծումը, կարո՞ղ եք ինձ տեղյակ պահել: Շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կրկին բարև, Սաննի, ես որոշ հաջողություն ունեցա կոդի խմբագրման հարցում (ես փոխում եմ num1 տողը A2-ի և With WorkRng.Range-ի ("A2:A100000"): Չափափոխել (UBound(outArr, 1), UBound(outArr, 2) ):


SubInsertValueBetween()
«Թարմացնել 20130825
Dim WorkRng որպես տիրույթ
Dim Rng որպես միջակայք
Dim outArr As Variant
Dim dic Որպես տարբերակ
Սահմանել dic = CreateObject ("Scripting.Dictionary")
«Սխալի դեպքում վերսկսել հաջորդը
xTitleId = «KutoolsforExcel»
Սահմանել WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A2").Արժեք
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count) Value
ընդմիջում = num2 - num1
ReDim outArr (1-ից ընդմիջում + 1, 1-ից 2)
Յուրաքանչյուր Rng-ի համար WorkRng-ում
dic(Rng.Value) = Rng.Offset(0, 1).Value
հաջորդ
i = 0-ի համար Դեպի ընդմիջում
outArr(i + 1, 1) = i + num1
Եթե ​​dic.Exists(i + num1) Ապա
outArr(i + 1, 2) = dic (i + num1)
Ուրիշ
outArr(i + 1, 2) = ""
Վերջ: Եթե
հաջորդ
WorkRng.Range-ով («A2:A100000»): Չափափոխել (UBound(outArr, 1), UBound(outArr, 2))
.Արժեք = outArr
.Ընտրեք
Վերջ
Վերջ Sub



Ես ձեզ ցույց եմ տալիս գրաֆիկները, այն 100% չի աշխատում, քանի որ այն չի ստեղծում ժամանակը A1-ից մինչև A2
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ահա իմ հարցը, և դա, ենթադրում եմ, շատ դժվար է. կա՞ արդյոք vba կոդ, որն ավելացնում է նոր տող զտված սյունակի տակ և պատճենում է միայն առաջին երեք բջիջները ավելացված նոր տողում և շարունակում է այդպես անել, մինչև օգտագործողը դադարի հարվածել: «մուտքագրել» և ապաֆիլտրե՞լ զտված բջիջները:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ձեր հարցը որոշ չափով բարդ է և բարդ, կարող եք հարցը տեղադրել մեր ֆորումում, գուցե որևէ մեկը ձեզ պատասխանի: https://www.extendoffice.com/forum.html
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես ուղղակի ուզում եմ հարցնել, թե ինչպես կարելի է տող ավելացնել, եթե այն պայմանն է, որ տող ավելացնելը պետք է արվի, երբ բջիջն արդեն ունի տվյալներ (դա շատ թերթերով Excel-ի աշխատանքային գրքի համար է :) Շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
միգուցե այս vba կոդը կարող է օգնել ձեզ: Այն կավելացնի տողեր, եթե վերևի տողը դատարկ չէ

Ենթադրյալ օգնություն ()
Dim count As Long
Հաշվի համար = ActiveSheet.UsedRange.Rows.count Դեպի 1 Քայլ -1
If Information.IsEmpty(Cells(count, 1)) = False, then Rows(count + 1).Insert
Հաջորդ հաշվարկը
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես փորձում եմ օգտագործել այս կոդը՝ տող մուտքագրելու համար, երբ բջիջի առաջին 4 թվանշանները փոխվում են (եթե դա նույնիսկ հնարավոր է)

օրինակ,
2222A
2222B
2223K


տողը կտեղադրվի 2222B-ից հետո, քանի որ 3-րդ թիվը 3-ն է և ոչ թե 2-ը

Շնորհակալություն տղաներ!!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, շնորհակալություն դրա համար, սակայն ես ունեմ մեկ այլ սցենար, որտեղ ես պետք է զրո բջիջ զետեղեմ ոչ զրո արժեքի տակ: Գնահատեք ցանկացած առաջարկ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Ջինա, ես պարզապես գտնում եմ կոդը՝ դատարկ տող բջիջի վերևում զետեղելու համար, որը դատարկ չէ, միգուցե ինչ-որ մեկը կարող է հարմարեցնել այն ձեր կարիքը բավարարելու համար:

SubInsert_Rows()
Dim LR As Long, r As Long

Դիմում. ScreenUpdating = Սուտ է
LR = Range ("A" & Rows.Count).End(xlUp).Տող
Համար r = LR Դեպի 1 Քայլ -1
Եթե ​​Len(Range("A" & r).Value) > 0 Ապա
Տողեր(r).Տեղադրեք
Վերջ: Եթե
Հաջորդ r
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub

գալիս են https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև ձեզ, սա շատ օգտակար է: Իսկ եթե ես ցանկանայի ավելացնել երկու տող ստորև, և ես ցանկանայի ավելի շատ արժեքներ: Օրինակ, ես ուզում եմ ավելացնել երկու տող 26/04/2019 արժեքից հետո, ապա երկու տող 03/04/2019-ից հետո, և ցուցակը շարունակվում է: Ինչպե՞ս կարող եմ շարունակել ավելացնել vba-ին: Կներեք, ես դեռ սկսնակ եմ: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Safa, միգուցե կարող եք փորձել Kutools-ի ներդիրի դատարկ տողեր/սյունակներ կոմունալ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Sub BlankLine ()
«Թարմացում մինչև 20150203 թթ
Dim Rng որպես միջակայք
Dim WorkRng որպես տիրույթ
Ս.թ. սխալի Ռեզյումե Next
xTitleId = «KutoolsforExcel»
Սահմանել WorkRng = Application.Selection
Սահմանեք WorkRng = Application.InputBox («Range», xTitleId, WorkRng.Address, Տեսակ՝ = 8)
Սահմանել WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Դիմում. ScreenUpdating = Սուտ է
xRowIndex-ի համար = xLastRow To 1 Step - 1
Սահմանել Rng = WorkRng.Range («A» և xRowIndex)
Եթե ​​Rng.Value = "0" ապա
Rng.EntireRow.Insert Shift: = xlDown
Վերջ: Եթե
հաջորդ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub


Ինձ պետք է, որ սա աշխատի ամեն անգամ, երբ ինչ-որ բան եմ դնում խցում, ինչպես նաև ավելի շատ փոփոխականներով: Նկատի ունեմ այն, որ եթե ես 2-ը դնեմ բջիջում, ապա այն պետք է տեղադրի 2 տող և ոչ միայն 1:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ անհրաժեշտ է մակրո՝ քանակի սյունակի վրա հիմնված տողեր ավելացնելու համար, որտեղ, եթե թիվը 1-ից մեծ է, այն տեղադրում է -1 տողերի թիվը: Եթե ​​քանակությունը 5 է, ապա ներքևում տեղադրում է 4 տող և լրացնում է տվյալները և փոխում է կանչված քանակությունը 5-ից 1-ի յուրաքանչյուր շարքում: Բաց թողնել ամբողջ 1-ը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ասա ինձ այն կոդը, որտեղ ես ցանկանում եմ ավելացնել որոշակի թվով տողեր՝ հիմնված բջջի արժեքի վրա: Օրինակ, եթե բջիջը պարունակում է 18 թվանշանը, ինքնաբերաբար 18 տող պետք է ավելացվի այնտեղ, որտեղ ես ուզում եմ, իսկ մնացած աղյուսակը/բջիջը պետք է տեղափոխվի ներքև:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շատ շնորհակալություն սրա համար, իսկապես ահռելի ժամանակ է խնայում: Հնարավո՞ր է ավելացնել կոդ, որն ինձ թույլ կտա նոր տողում տեքստ տեղադրել: Օրինակ՝ ես տեղադրում եմ նոր տողեր՝ հիմնված «x» թիրախային արժեքի վրա, այնուհետև ցանկանում եմ ավելացնել «y» տեքստային արժեքը «x» թիրախային արժեքի տակ գտնվող բջիջում: Սա հնարավո՞ր է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ. Մակրոն աշխատում է ինձ համար, բայց կա՞ միջոց, որ միջակայքը/պարամետրերը միշտ դրված լինեն J սյունակի վրա, առանց մուտքագրման տուփի բացման: Ես կցանկանայի, որ այն բաց թողնի մուտքագրման տուփի առաջացող քայլը: Բացի այդ, ես համոզվեցի, որ այս մակրոյից անմիջապես առաջ, որ իմ նախորդ մակրոյի վերջին տողը լինի Range("J:J"): Ընտրեք՝ համոզվելու համար, որ ամբողջ J սյունակը արդեն ընտրված է:
Սա այն է, ինչ ես օգտագործել եմ մինչ այժմ:

Dim Rng որպես միջակայք
Dim WorkRng որպես տիրույթ
Ս.թ. սխալի Ռեզյումե Next
xTitleId = «Սեղմեք OK՝ շարունակելու համար»
Սահմանել WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
Սահմանել WorkRng = WorkRng.Columns(1)
SendKeys «~»
xLastRow = WorkRng.Rows.Count
Դիմում. ScreenUpdating = Սուտ է
xRowIndex-ի համար = xLastRow Դեպի 1 Քայլ -1
Սահմանել Rng = WorkRng.Range («A» և xRowIndex)
Եթե ​​Rng.Value = «Նոր GMS գիծ» Ապա
Rng.EntireRow.Insert Shift:=xlDown
Վերջ: Եթե
հաջորդ


Ես փորձել եմ փորձարկել SendKeys «~» հրամանը որոշ քայլերի միջև, որպեսզի փորձեմ և ստիպել, որ այն ավտոմատ կերպով սեղմի Enter, երբ մուտքագրման տուփը բացվի, բայց դա նույնպես չաշխատեց: Ես վստահ չէի, թե կոնկրետ որտեղ օգտագործել SendKeys հրամանը մակրոյում կամ արդյոք այն կաշխատի նույնիսկ մուտքագրման տուփի հետ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
խնդրում եմ, օգնեք ինձ ունենալ տվյալներ։ Ես ունեմ մեկ ամսվա տվյալներ, որովհետև ես պետք է դատարկ տողեր տեղադրեմ՝ ըստ փախուստի ժամանակի։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, hr.babu08, կներեք, որ պատասխանը ուշ է: Ենթադրում եմ, որ ցանկանում եք տեղադրել դատարկ տողեր կամ նշել բացակայող հաջորդականության տվյալների համար, եթե այո, կարող եք փորձել Kutools-ը Excel-ի համար Գտնել բացակայող հաջորդականության համարը: Ահա այս հատկանիշի մասին ձեռնարկը. https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf ցանկանում եք բացակայող հաջորդականության համար դատարկ տողեր տեղադրելու այլ մեթոդներ, խնդրում ենք այցելել՝https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Կարո՞ղ է այս մարկոն օգտագործել/փոփոխվել գունավոր բջիջների համար:
Ես պետք է ներդնեմ առնվազն 10 տող յուրաքանչյուր շարքի վերջից, որոնք գունավոր են:
Thx!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես պետք է որոշակի տողեր ավելացնեմ դրանցում արժեքներով հատուկ բջիջների բովանդակության համար, բայց չգիտեմ, թե ինչպես դա անել առանց ձեռքով անել ավելի քան 3800+ տող:

Օրինակ՝ A1 = Node1
Ես պետք է մի տող տեղադրեմ, և այն մուտքագրվի Scanner արժեքը
Մուտքագրեք մեկ այլ տող և մուտքագրեք Printer արժեքը
մեկ այլ տող CD արժեքով:
Եւ այլն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Քրիս, ահա VBA-ն կարող է օգնել ձեզ ավտոմատ կերպով տեղադրել երեք տող (Սկաներ, տպիչ, CD), երբ արժեքը հավասար է Node1-ին:
Sub BlankLine()
'ByExtendoffice
Dim Rng As Range

Dim WorkRng As Range

Dim xRngI As Range

On Error Resume Next

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Select a range", xTitleId, WorkRng.Address, Type:=8)

Set WorkRng = WorkRng.Columns(1)

xLastRow = WorkRng.Rows.Count

Application.ScreenUpdating = False

For xRowIndex = xLastRow To 1 Step -1

  Set Rng = WorkRng.Range("A" & xRowIndex)

  If Rng.Value = "Node1" Then

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).Value = "Scanner"

    Rng.Offset(2, 0).Value = "Printer"

    Rng.Offset(3, 0).Value = "CD"

  End If

Next

Application.ScreenUpdating = True

End Sub

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

Հետեւեք մեզ

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