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

Cum se inserează automat rândul pe baza valorii celulei din Excel?

doc-insert-row-based-on-value-1
Să presupunem că aveți o gamă de date și doriți să inserați automat rânduri goale deasupra sau sub o anumită valoare în Excel, de exemplu, să inserați rânduri sub valoarea zero, așa cum este prezentat mai jos. În Excel, nu există nicio modalitate directă de a rezolva această sarcină, dar vă pot introduce un cod Macro pentru a insera automat rânduri pe baza unei anumite valori în Excel.
Introduceți rândul de mai jos pe baza valorii celulei cu VBA

Introduceți rândul de mai sus pe baza valorii celulei cu Kutools pentru Excel idee bună3

Pentru a insera rândul pe baza valorii celulei executând VBA, faceți pașii de mai jos:

1. presa Alt + F11 tastele simultan și a Microsoft Visual Basic pentru aplicații apare fereastra.

2. clic Insera > Module, apoi lipiți mai jos codul VBA în popping Module fereastră.

VBA: introduceți rândul de mai jos pe baza valorii celulei.

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. clic F5 tasta sau Alerga , apare un dialog și selectați coloana conține zero. Vedeți captura de ecran:
doc-insert-row-based-on-value-2

4. clic OK. Apoi, rândurile goale vor fi inserate sub valoarea zero.
doc-insert-row-based-on-value-3

varful:

1. Dacă doriți să inserați rânduri pe baza altei valori, puteți modifica 0 la orice valoare doriți în VBA: Dacă Rng.Value = "0" Atunci.

2. Dacă doriți să inserați rânduri peste zero sau altă valoare, puteți utiliza codul vba de mai jos.

VBA: introduceți rândul peste valoarea zero:

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-on-value-4


Dacă nu sunteți familiarizat cu VBA, puteți încerca Kutools pentru Excel's Selectați celule specifice utilitar, apoi introduceți rânduri deasupra.

Kutools pentru Excel, cu mai mult de 300 funcții la îndemână, vă face munca mai ușoară. 

După instalare Kutools pentru Excel, faceți următoarele:(Descărcați gratuit Kutools pentru Excel acum!)

1. Selectați lista din care doriți să aflați celulele specifice și faceți clic pe Kutools > Selectați > Selectați celule specifice. Vedeți captura de ecran:
doc inserați rândul pe baza valorii 9

2. În dialogul popping, bifați Întregul rând , apoi mergeți la selectare este egală cu din Tipul specific , apoi introduceți valoarea pe care doriți să o găsiți în caseta de text din dreapta. Vedeți captura de ecran:
doc inserați rândul pe baza valorii 6

3. clic Okși apare un dialog pentru a vă reaminti numărul de rânduri selectate, doar închideți-l.

4. Plasați cursorul pe un rând selectat și faceți clic dreapta pentru a selecta Insera din meniul contextual. Vedeți captura de ecran:
doc inserați rândul pe baza valorii 7

Acum rândurile sunt inserate mai sus pe baza unei valori specifice.
doc inserați rândul pe baza valorii 8


Articole relative:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (43)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreau să inserez un anumit conținut în celula de mai jos. Cum să faci asta? În loc de Rând necompletat, vreau să inserez o valoare în câteva coloane.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, vreau să inserez mai multe rânduri pe baza valorii Ex: vreau să inserez 1 rând necompletat sub celula cu valoarea 2, 2 rânduri sub celula cu valoarea 3, 3 rânduri sub celula cu valoarea 4 și așa mai departe. va rog sa ma ajutati cu asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ați primit vreodată un răspuns la asta? Încerc să fac același lucru.

Aveți o listă cu angajații cu numărul de săptămâni de vacanță pe care le primesc. Vreau să inserez un rând pentru fiecare săptămână. Va fi 1, 2 sau 3 rânduri, în funcție de cât timp au câștigat. numerele 1 2 3 sunt deja în foaia mea de calcul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreau să inserez rânduri pe baza unui număr, folosind o valoare a celulei într-o foaie de calcul și inserând rânduri într-o altă foaie de calcul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc mesajului tau. Dar poți să-ți descrii întrebarea cu mai multe detalii? Ce rânduri doriți să inserați? Gol? Și unde doriți să introduceți în foaie? Dacă poți, dă-mi o captură de ecran. Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Te iubesc. Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Asta a fost uimitor!!. Multumesc omule.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum pot introduce mai mult de un rând?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Puteți încerca acest VBA

Sub BlankLine()
„Actualizare până în 20150203
Dim Rng ca rază de acțiune
Dim WorkRng As Range
Dim xInsertNum As Long
' La eroare Reluați următoarea
xTitleId = „Kutools pentru Excel”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
Dacă WorkRng este Nimic, Ieșiți din Sub
xInsertNum = Application.InputBox ("Numărul de rânduri goale pe care doriți să le inserați ", xTitleId, Type:=1)
Dacă xInsertNum = Fals, atunci
MsgBox „Numărul de rânduri goale pe care doriți să le inserați”, vbInformation, xTitleId
Ieșiți din Sub
Final, dacă
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Fals
Pentru xRowIndex = xLastRow la 1 Pas -1
Set Rng = WorkRng.Range(„A” și xRowIndex)
Dacă Rng.Value = "0" Atunci
Rng.Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
Final, dacă
Pagina Următoare →
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
dacă doriți să inserați rânduri goale mai jos, încercați acest lucru

Sub BlankLine()
„Actualizare până în 20150203
Dim Rng ca rază de acțiune
Dim WorkRng As Range
Dim xInsertNum As Long
' La eroare Reluați următoarea
xTitleId = „Kutools pentru Excel”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
Dacă WorkRng este Nimic, Ieșiți din Sub
xInsertNum = Application.InputBox(„Numărul de rânduri goale pe care doriți să le inserați”, xTitleId, Type:=1)
Dacă xInsertNum = Fals, atunci
MsgBox „Numărul de rânduri goale pe care doriți să le inserați”, vbInformation, xTitleId
Ieșiți din Sub
Final, dacă
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Fals
Pentru xRowIndex = xLastRow la 1 Pas -1
Set Rng = WorkRng.Range(„A” și xRowIndex)
Dacă Rng.Value = "0" Atunci
Rng.Offset(1, 0).Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
Final, dacă
Pagina Următoare →
Application.ScreenUpdating = Adevărat
End Sub

Cel de mai jos este pentru a introduce rânduri deasupra.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Sunny, această macrocomandă funcționează perfect pentru mine; A trebuit doar să schimb cantitatea de rânduri la 30 și să schimb 0 în text: „Sold de închidere”. Dar acum vreau să copiez, lipiți o selecție de celule cu o înălțime de 30 de rânduri în cele 30 de linii goale care tocmai au fost inserate de această macrocomandă. Puteți sugera o nouă macrocomandă (sau un amendament la aceasta) pentru a copia și a lipi un interval în fiecare 30 de linii goale. Am numit intervalul pentru a copia și lipi „șablon”.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am nevoie de ajutor enorm pe acest subiect. Am 2 coloane, pe 1 am datele mele ora 01/01/2016 05:00:00, zile/luni/an ora/minut/secunde iar in coloana 2 a 2-a datele respective asociate orei.

Problema mea este că vreau să adaug timp de date între rânduri, deoarece am intervale de zile. Prima linie este 1/01/01, iar al 2016-lea rând are, de exemplu, 2/10/01, deci am 2016 zile. și acel cod nu funcționează pentru mine.

Aștept cu nerăbdare să primim ceva feedback, vă rog! Mulțumiri
Acest comentariu a fost redus la minimum de moderatorul de pe site
Puteți încerca acest VBA

Sub InsertValueBetween()
„Actualizare 20130825
Dim WorkRng As Range
Dim Rng ca rază de acțiune
Dim outArr ca variantă
Dim dic Ca Variant
Set dic = CreateObject("Scripting.Dictionary")
„La eroare, reluați următoarea
xTitleId = „KutoolsforExcel”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" și WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
Pentru fiecare Rng în WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Valoare
Pagina Următoare →
Pentru i = 0 La interval
outArr(i + 1, 1) = i + num1
Dacă dic.Există(i + num1) Atunci
outArr(i + 1, 2) = dic(i + num1)
Altfel
outArr(i + 1, 2) = ""
Final, dacă
Pagina Următoare →
Cu WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Valoare = outArr
.Selectați
Se termina cu
End Sub


Sau dacă aveți Kutools pentru Excel, puteți încerca această funcție:
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult, le-am încercat pe amândouă, pe primul, deoarece am cam 1 de rânduri de date, fac asta pentru toate cele 500 de rânduri și nu fac nimic, cred că poate are o limitare a rândurilor de utilizat și când selectez doar primele 500 rânduri, de exemplu, nu creează rândurile lipsă, ci înlocuiește rândurile pentru datele lipsă.

O altă problemă pe care o am este că datele mele de timp au și Ziua/Luna/Anul HH: MM: SS
Acest comentariu a fost redus la minimum de moderatorul de pe site
De la 2 la 3, creează datele lipsă pe care le vreau ok, dar se elimină valoarea lui 03/01/2016 și sunt niște date de timp care se elimină ceva ce nici eu nu vreau
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ne pare rău că codul VBA nu v-a ajutat, nu pot găsi metoda care poate funcționa pentru formatul de dată și oră. Dacă în sfârșit găsești soluția, poți să mă anunți? Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună din nou Sunny, am avut ceva succes la editarea codului la acesta (schimb linia num1 la A2 și With WorkRng.Range("A2:A100000")).Resize(UBound(outArr, 1), UBound(outArr, 2) ):


Sub InsertValueBetween()
„Actualizare 20130825
Dim WorkRng As Range
Dim Rng ca rază de acțiune
Dim outArr ca variantă
Dim dic Ca Variant
Set dic = CreateObject("Scripting.Dictionary")
„La eroare, reluați următoarea
xTitleId = „KutoolsforExcel”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A2").Value
num2 = WorkRng.Range("A" și WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
Pentru fiecare Rng în WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Valoare
Pagina Următoare →
Pentru i = 0 La interval
outArr(i + 1, 1) = i + num1
Dacă dic.Există(i + num1) Atunci
outArr(i + 1, 2) = dic(i + num1)
Altfel
outArr(i + 1, 2) = ""
Final, dacă
Pagina Următoare →
Cu WorkRng.Range("A2:A100000").Redimensionare(UBound(outArr, 1), UBound(outArr, 2))
.Valoare = outArr
.Selectați
Se termina cu
End Sub



Vă arăt graficele, nu merge 100% pentru că nu creează timpul de la A1 la A2
Acest comentariu a fost redus la minimum de moderatorul de pe site
Iată întrebarea mea și cred că este una foarte dificilă.. există un cod vba care adaugă un nou rând sub o coloană filtrată și copiază doar primele trei celule în noul rând adăugat și continuă să facă asta până când utilizatorul nu mai lovește „intra” și dezfiltrați celulele filtrate?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Întrebarea dvs. este oarecum dificilă și complexă, puteți plasa întrebarea pe forumul nostru, poate vă poate răspunde cineva. https://www.extendoffice.com/forum.html
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut, vreau doar să întreb cum să adaug un rând dacă codul este că adăugarea rândului ar trebui făcută atunci când o celulă are deja date (este pentru un registru de lucru Excel cu multe foi :) Mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
poate acest cod vba te poate ajuta. Va adăuga rânduri dacă rândul de deasupra nu este gol

Sub ajutor ()
Dim count As Long
Pentru count = ActiveSheet.UsedRange.Rows.count La 1 Pas -1
Dacă Informația.Este goală(Celele(număr, 1)) = Fals, atunci rânduri(număr + 1).Inserați
Următorul număr
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, încerc să folosesc acest cod pentru a introduce un rând atunci când primele 4 cifre dintr-o celulă se schimbă (dacă este chiar posibil)

de exemplu,
2222A
2222B
2223 K


linia va fi inserată după 2222B, deoarece al treilea număr este un 3 și nu un 3

Multumesc baieti!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Mulțumesc pentru asta, totuși am un alt scenariu în care trebuie să inserez o celulă cingle sub valoarea care nu este zero. Apreciez orice sugestie.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Gina, tocmai am găsit codul pentru a insera un rând necompletat deasupra celulei care nu este goală, poate cineva îl poate ajusta pentru a satisface nevoia dvs.

Sub Insert_Rows()
Dim LR As Long, r As Long

Application.ScreenUpdating = Fals
LR = Interval(„A” și Rânduri.Număr).Sfârșit(xlSus).Rând
Pentru r = LR La 1 Pasul -1
Dacă Len(Range(„A” & r).Valoare) > 0 Atunci
Rânduri(r).Insert
Final, dacă
Următorul r
Application.ScreenUpdating = Adevărat
End Sub

vine din https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, este foarte util. Ce se întâmplă dacă aș vrea să adaug două rânduri mai jos și aș vrea să mai adaug mai multe valori. De exemplu, vreau să adaug două linii după valoarea 26/04/2019 și apoi două linii după 03/04/2019, iar lista continuă. Cum continui să adaug la vba? Scuze sunt inca incepator. Mulțumesc anticipat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Safa, poate puteți încerca utilitarul Kutools de inserare rânduri/coloane goale.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sub BlankLine()
„Actualizare până în 20150203
Dim Rng ca rază de acțiune
Dim WorkRng As Range
La data de eroare CV următoare
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 = Fals
Pentru xRowIndex = xLastRow la 1 pas - 1
Set Rng = WorkRng.Range(„A” și xRowIndex)
Dacă Rng.Value = "0" Atunci
Rng.EntireRow.Insert Shift: = xlDown
Final, dacă
Pagina Următoare →
Application.ScreenUpdating = Adevărat
End Sub


Am nevoie ca acest lucru să funcționeze de fiecare dată când pun ceva în celulă și, de asemenea, cu mai multe variabile. Ce vreau să spun este că dacă pun 2 în celulă, am nevoie de el pentru a introduce 2 rânduri și nu doar 1.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am nevoie de macrocomandă pentru a adăuga rânduri pe baza unei coloane de cantitate în care, dacă cantitatea este mai mare de 1, inserează numărul de rânduri -1. Dacă cantitatea este 5, se inserează 4 rânduri sub ea și completează datele și schimbă cantitatea numită de la 5 la 1 pe fiecare rând. Omiteți toată cantitatea 1.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Spune-mi codul unde vreau să adaug un anumit număr de rânduri pe baza valorii unei celule. de exemplu, dacă celula conține cifra 18, automat 18 rânduri ar trebui adăugate acolo unde vreau, iar restul tabelului/celulei ar trebui să se deplaseze în jos.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multe mulțumiri pentru asta, cu adevărat o economie extraordinară de timp. Ar fi posibil să adaug un cod care să-mi permită să inserez ceva text în noul rând. De exemplu, inserez rânduri noi bazate pe valoarea țintă „x”, apoi vreau să adaug valoarea text „y” în celula de sub valoarea țintă „x”. Este posibil?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna ziua. Macro-ul funcționează pentru mine, dar există o modalitate de a avea întotdeauna intervalul/parametrii setați întotdeauna la coloana J fără ca caseta de intrare să apară deloc? Aș dori să săriți peste pasul din caseta de introducere care urmează. De asemenea, m-am asigurat că, direct înaintea acestei macrocomenzi, ultima linie a macrocomenzii mele anterioare este Range ("J:J"). Selectați pentru a vă asigura că întreaga coloană J este deja selectată.
Acesta este ceea ce am folosit până acum.

Dim Rng ca rază de acțiune
Dim WorkRng As Range
La data de eroare CV următoare
xTitleId = „Faceți clic pe OK pentru a continua”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
Set WorkRng = WorkRng.Columns(1)
SendKeys „~”
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Fals
Pentru xRowIndex = xLastRow la 1 Pas -1
Set Rng = WorkRng.Range(„A” și xRowIndex)
Dacă Rng.Value = „Linie GMS nouă” atunci
Rng.EntireRow.Insert Shift:=xlDown
Final, dacă
Pagina Următoare →


Am încercat să experimentez folosind comanda SendKeys „~” între unii dintre pași pentru a încerca să apese Enter automat când apare caseta de introducere, dar nici asta nu a funcționat. Nu eram sigur unde să folosesc exact comanda SendKeys în macro sau chiar dacă ar funcționa cu o casetă de introducere!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă rugăm să mă ajutați să am o date. Am date de o lună, prin aceea că trebuie să inserez un rând liber în funcție de timpul de evadare
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, hr.babu08, îmi pare rău că răspunsul întârzie. Bănuiesc că doriți să inserați rânduri goale sau să faceți un marcaj pentru datele de secvență lipsă, dacă da, puteți încerca Kutools pentru Excel caracteristica Găsiți numărul de secvență lipsă. Iată tutorialul despre această funcție: https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf doriți alte metode de inserare a rândurilor goale pentru secvența lipsă, vă rugăm să vizitați:https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Acest marco poate fi folosit/alterat pentru celulele colorate?
Trebuie să inserez cel puțin 10 rânduri deasupra capătului fiecărei serii care sunt colorate.
Mersi!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Trebuie să adaug anumite rânduri cu valori în ele pentru anumite conținuturi de celule, dar nu sunt sigur cum să fac acest lucru fără a fi nevoie să fac manual pentru peste 3800 de linii

Ex: A1 = Nodul1
Trebuie să am un rând inserat și să introduc valoarea Scanner
Introduceți un alt rând și introduceți valoarea Printer
alt rând cu valoarea CD.
etc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Chris, iată un VBA care vă poate ajuta să introduceți automat trei rânduri (Scanner, imprimantă, CD) atunci când valoarea este egală cu 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

Te rog să-mi spui dacă funcționează pentru tine.
Nu există comentarii postate aici încă
Încărcați mai

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL