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

Jak automaticky vložit řádek na základě hodnoty buňky v aplikaci Excel?

doc-insert-row-based-on-value-1
Předpokládejme, že máte rozsah dat a chcete automaticky vložit prázdné řádky nad nebo pod určitou hodnotu v aplikaci Excel, například automatické vkládání řádků pod nulovou hodnotu, jak je znázorněno níže. V aplikaci Excel neexistuje žádný přímý způsob, jak tento úkol vyřešit, ale mohu pro vás zavést makro kód pro automatické vkládání řádků na základě určité hodnoty v aplikaci Excel.
Vložte řádek níže na základě hodnoty buňky pomocí VBA

Vložte řádek výše na základě hodnoty buňky pomocí Kutools pro Excel dobrý nápad3

Chcete-li vložit řádek na základě hodnoty buňky spuštěním VBA, proveďte následující kroky:

1. lis Alt + F11 kláves současně a a Microsoft Visual Basic pro aplikace vyskočí okno.

2. cvaknutí Vložit > Modul, pak vložte pod kód VBA do praskání Modul okno.

VBA: Vložte řádek níže na základě hodnoty buňky.

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. cvaknutí F5 nebo klávesu Běh tlačítko, objeví se dialogové okno a vyberte sloupec obsahující nulu. Viz snímek obrazovky:
doc-insert-row-based-on-value-2

4. cvaknutí OK. Potom se pod nulovou hodnotu vloží prázdné řádky.
doc-insert-row-based-on-value-3

Tip:

1. Pokud chcete vložit řádky založené na jiné hodnotě, můžete to změnit 0 na libovolnou hodnotu, kterou chcete ve VBA: Pokud Rng.Value = "0", pak.

2. Pokud chcete vložit řádky nad nulu nebo jinou hodnotu, můžete použít níže uvedený kód VBA.

VBA: Vložte řádek nad nulovou hodnotu:

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


Pokud nejste obeznámeni s VBA, můžete to zkusit Kutools pro Excel's Vyberte konkrétní buňky nástroj a poté vložte řádky výše.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalaci Kutools pro Excel, prosím, postupujte takto:(Zdarma ke stažení Kutools pro Excel nyní!)

1. Vyberte seznam, ze kterého chcete zjistit konkrétní buňky, a klikněte na Kutools > vybrat > Vyberte konkrétní buňky. Viz snímek obrazovky:
doc vložte řádek na základě hodnoty 9

2. V rozbalovacím dialogovém okně zaškrtněte Celá řada možnost a poté vyberte rovná od Specifický typ seznamu a poté zadejte hodnotu, kterou chcete najít, do pravého textového pole. Viz snímek obrazovky:
doc vložte řádek na základě hodnoty 6

3. cvaknutí Oka objeví se dialogové okno, které vám připomene počet vybraných řádků, stačí jej zavřít.

4. Umístěte kurzor na jeden vybraný řádek a klepnutím pravým tlačítkem vyberte Vložit z kontextového menu. Viz screenshot:
doc vložte řádek na základě hodnoty 7

Nyní jsou řádky vloženy výše na základě konkrétní hodnoty.
doc vložte řádek na základě hodnoty 8


Relativní články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (40)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Chci vložit konkrétní obsah pod buňku níže. Jak to udělat? Místo prázdného řádku chci vložit hodnotu do několika sloupců.
Tento komentář byl moderátorem webu minimalizován
Ahoj, chci vložit více řádků na základě hodnoty Př: Chci vložit 1 prázdný řádek pod buňku s hodnotou 2, 2 řádky pod buňku s hodnotou 3, 3 řádky pod buňku s hodnotou 4 a tak dále Můžete prosím pomozte mi s tím?
Tento komentář byl moderátorem webu minimalizován
Dostal jsi na to někdy odpověď? Snažím se dělat to samé.

Mějte seznam zaměstnanců, kteří mají # týdnů dovolené. Chci vložit řádek pro každý týden. Bude to 1, 2 nebo 3 řádky v závislosti na tom, kolik času si vydělali. #s 1 2 3 jsou již v mé tabulce.
Tento komentář byl moderátorem webu minimalizován
Chci vložit řádky na základě počtu pomocí hodnoty buňky v jedné tabulce a vložení řádků do jiné tabulky.
Tento komentář byl moderátorem webu minimalizován
Díky vaší zprávě. Ale můžete svou otázku popsat podrobněji? Jaké řádky chcete vložit? Prázdný? A kam chcete v listu vložit? Pokud můžete, dejte mi nějaký snímek obrazovky. Děkuji.
Tento komentář byl moderátorem webu minimalizován
Miluji tě. Děkuji.
Tento komentář byl moderátorem webu minimalizován
To bylo úžasné!!. Díky chlape.
Tento komentář byl moderátorem webu minimalizován
Jak mohu vložit více než jeden řádek?
Tento komentář byl moderátorem webu minimalizován
Můžete zkusit tento VBA

Dílčí prázdný řádek()
'Aktualizace do 20150203
Dim Rng As Range
Dim WorkRng As Range
Dim xInsertNum as Long
' Při chybě Pokračovat dále
xTitleId = "Kutools pro Excel"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Pokud WorkRng Is Nothing Pak Exit Sub
xInsertNum = Application.InputBox("Počet prázdných řádků, které chcete vložit", xTitleId, Type:=1)
If xInsertNum = False Then
MsgBox " Počet prázdných řádků, které chcete vložit ", vbInformation, xTitleId
Konec Sub
End If
Nastavit WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Pro xRowIndex = xLastRow do 1 kroku -1
Nastavit Rng = WorkRng.Range("A" & xRowIndex)
Pokud Rng.Value = "0", pak
Rng.Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
End If
další
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
pokud chcete níže vložit prázdné řádky, zkuste toto

Dílčí prázdný řádek()
'Aktualizace do 20150203
Dim Rng As Range
Dim WorkRng As Range
Dim xInsertNum as Long
' Při chybě Pokračovat dále
xTitleId = "Kutools pro Excel"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Pokud WorkRng Is Nothing Pak Exit Sub
xInsertNum = Application.InputBox("Počet prázdných řádků, které chcete vložit", xTitleId, Type:=1)
If xInsertNum = False Then
MsgBox " Počet prázdných řádků, které chcete vložit ", vbInformation, xTitleId
Konec Sub
End If
Nastavit WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Pro xRowIndex = xLastRow do 1 kroku -1
Nastavit Rng = WorkRng.Range("A" & xRowIndex)
Pokud Rng.Value = "0", pak
Rng.Offset(1, 0).Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
End If
další
Application.ScreenUpdating = True
End Sub

Ten níže je pro vložení řádků výše.
Tento komentář byl moderátorem webu minimalizován
Ahoj Sunny, toto makro mi funguje perfektně; Jen jsem musel změnit počet řádků na 30 a změnit 0 na text: "Konečný zůstatek". Ale teď chci zkopírovat a vložit výběr buněk, který je 30 řádků vysoký, do 30 prázdných řádků, které byly právě vloženy tímto makrem. Můžete navrhnout nové makro (nebo změnu tohoto) pro zkopírování a vložení rozsahu do každých 30 prázdných řádků. Pojmenoval jsem rozsah, který se má zkopírovat a vložit, „šablona“.
Tento komentář byl moderátorem webu minimalizován
Potřebuji velkou pomoc na toto téma. Mám 2 sloupce, v 1. mám údaje čas 01 01:2016:05, dny/měsíce/rok hodina/minuta/sekundy a ve 00. sloupci příslušné údaje spojené s časem.

Můj problém je, že chci přidat čas dat mezi řádky, protože mám mezery ve dnech. 1. řádek je 01 a 01. řádek má např. 2016, takže mám 2 dní. a ten kód mi nefunguje.

Těšíme se na zpětnou vazbu, prosím! dík
Tento komentář byl moderátorem webu minimalizován
Můžete zkusit tento VBA

Sub InsertValueBetween()
'Aktualizace 20130825
Dim WorkRng As Range
Dim Rng As Range
Dim outArr jako varianta
Dim dic jako varianta
Set dic = CreateObject("Scripting.Dictionary")
'Při chybě pokračovat dále
xTitleId = "Kutoolsfor Excel"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Hodnota
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 až interval + 1, 1 až 2)
Pro každý Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Hodnota
další
Pro i = 0 To interval
outArr(i + 1, 1) = i + číslo1
If dic.Exists(i + num1) Then
outArr(i + 1, 2) = dic(i + num1)
Jiný
outArr(i + 1, 2) = ""
End If
další
S WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Hodnota = outArr
.Vybrat
Konec s
End Sub


Nebo pokud máte Kutools pro Excel, můžete zkusit tuto funkci:
Tento komentář byl moderátorem webu minimalizován
Díky moc, zkusil jsem oba, ten první, protože mám asi 1 řádků dat, dělám to pro všech 500 řádků a nedělám nic, myslím, že to má možná omezení na použité řádky a když vyberu například jen prvních 500 řádků, nevytvoří chybějící řádky, ale nahradí řádky za chybějící data.

Další problém, který mám, je, že moje časové údaje mají také den/měsíc/rok HH:MM:SS
Tento komentář byl moderátorem webu minimalizován
Od 2 do 3 mi to vytvoří chybějící údaje, které chci ok, ale hodnota 03 je eliminována a jsou tam nějaké časové údaje, které jsou eliminovány něco, co nechci ani já
Tento komentář byl moderátorem webu minimalizován
Omlouváme se, kód VBA vám nepomohl, nemohu najít metodu, která by fungovala pro formát data a času. Pokud nakonec najdete řešení, mohl byste mi dát vědět? Děkuji.
Tento komentář byl moderátorem webu minimalizován
Dobrý den Sunny, podařilo se mi upravit kód (změnil jsem řádek num1 na A2 a With WorkRng.Range("A2:A100000").Resize(UBound(outArr, 1), UBound(outArr, 2) ):


Sub InsertValueBetween()
'Aktualizace 20130825
Dim WorkRng As Range
Dim Rng As Range
Dim outArr jako varianta
Dim dic jako varianta
Set dic = CreateObject("Scripting.Dictionary")
'Při chybě pokračovat dále
xTitleId = "Kutoolsfor Excel"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A2").Hodnota
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 až interval + 1, 1 až 2)
Pro každý Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Hodnota
další
Pro i = 0 To interval
outArr(i + 1, 1) = i + číslo1
If dic.Exists(i + num1) Then
outArr(i + 1, 2) = dic(i + num1)
Jiný
outArr(i + 1, 2) = ""
End If
další
With WorkRng.Range("A2:A100000").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Hodnota = outArr
.Vybrat
Konec s
End Sub



Ukazuji vám grafy, nefunguje to 100%, protože to nevytváří čas od A1 do A2
Tento komentář byl moderátorem webu minimalizován
Zde je moje otázka a myslím, že je velmi obtížná.. existuje kód vba, který přidá nový řádek pod filtrovaný sloupec a zkopíruje pouze první tři buňky do přidaného nového řádku a pokračuje v tom, dokud uživatel nepřestane bít "vstoupit" a odfiltrovat filtrované buňky?
Tento komentář byl moderátorem webu minimalizován
Vaše otázka je poněkud obtížná a složitá, můžete ji umístit do našeho fóra, možná vám někdo odpoví. https://www.extendoffice.com/forum.html
Tento komentář byl moderátorem webu minimalizován
ahoj, jen se chci zeptat, jak přidat řádek, pokud podmínka je, že přidání řádku by se mělo provést, když buňka již obsahuje data (Je to pro sešit aplikace Excel se spoustou listů :) Díky!
Tento komentář byl moderátorem webu minimalizován
možná vám tento vba kód může pomoci. Pokud výše uvedený řádek není prázdný, přidá řádky

Sub help()
Dim count As Long
Pro počet = ActiveSheet.UsedRange.Rows.count To 1 Krok -1
If Information.IsEmpty(Cells(count, 1)) = False Then Rows(count + 1).Insert
Další počítání
End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj, snažím se použít tento kód k zadání řádku, když se změní první 4 číslice v buňce (pokud je to vůbec možné)

například,
2222
2222B
2223K


řádek bude vložen za 2222B, protože 3. číslo je 3 a ne 2

Díky hoši!!
Tento komentář byl moderátorem webu minimalizován
Ahoj, díky za to, ale mám jiný scénář, kdy potřebuji vložit cingle buňku pod hodnotu, která není nula. Oceňujte jakýkoli návrh.
Tento komentář byl moderátorem webu minimalizován
Ahoj Gino, právě jsem našel kód pro vložení prázdného řádku nad buňku, která není prázdná, možná to někdo může upravit, aby vyhovoval vašim potřebám.

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

Application.ScreenUpdating = False
LR = Range("A" & Rows.Count).End(xlUp).Row
Pro r = LR do 1 Krok -1
If Len(Range("A" & r).Value) > 0 Pak
Řádky(r).Vložit
End If
Další r
Application.ScreenUpdating = True
End Sub

pocházet z https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
Tento komentář byl moderátorem webu minimalizován
Dobrý den, toto je velmi užitečné. Co kdybych chtěl přidat dva řádky níže a chtěl bych více hodnot. Například chci přidat dva řádky po hodnotě 26/04/2019 a poté dva řádky po 03/04/2019 a seznam pokračuje. Jak mohu pokračovat v přidávání do vba? Omlouvám se, jsem stále začátečník. Díky předem.
Tento komentář byl moderátorem webu minimalizován
Ahoj, Safa, možná můžeš zkusit nástroj Kutools pro vkládání prázdných řádků/sloupců.
Tento komentář byl moderátorem webu minimalizován
Dílčí prázdný řádek()
'Aktualizace do 20150203
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Kutoolsfor Excel"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
Nastavit WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Pro xRowIndex = xLastRow do 1 kroku - 1
Nastavit Rng = WorkRng.Range("A" & xRowIndex)
Pokud Rng.Value = "0", pak
Rng.EntireRow.Insert Shift: = xlDown
End If
další
Application.ScreenUpdating = True
End Sub


Potřebuji, aby to fungovalo pokaždé, když něco vložím do buňky, a také s více proměnnými. Chci říct, že když do buňky vložím 2, potřebuji, aby vložil 2 řádky a ne jen 1.
Tento komentář byl moderátorem webu minimalizován
Potřebuji, aby makro přidalo řádky na základě sloupce množství, kde pokud je množství větší než 1, vloží počet řádků -1. Pokud je množství 5, vloží pod něj 4 řádky a vyplní údaje a změní volané množství z 5 na 1 každý řádek. Přeskočit celé množství 1.
Tento komentář byl moderátorem webu minimalizován
Řekněte mi kód, kam chci přidat konkrétní počet řádků na základě hodnoty buňky. například pokud buňka obsahuje číslici 18, automaticky by se mělo přidat 18 řádků, kam chci, a zbytek tabulky/buňky by se měl posunout dolů.
Tento komentář byl moderátorem webu minimalizován
Mnohokrát za to děkuji, opravdu obrovská úspora času. Bylo by možné přidat nějaký kód, který mi umožní vložit nějaký text do nového řádku. Například vkládám nové řádky na základě cílové hodnoty „x“, pak chci přidat textovou hodnotu „y“ do buňky pod cílovou hodnotu „x“. Je to možné?
Tento komentář byl moderátorem webu minimalizován
Ahoj. Makro mi funguje, ale existuje způsob, jak mít rozsah/parametry vždy nastavené na sloupec J, aniž by se vůbec objevilo vstupní pole? Přál bych si, aby se vynechal krok nadcházejícího vstupního pole. Také jsem se ujistil, že přímo před tímto makrem je poslední řádek mého předchozího makra Range("J:J"). Vyberte, abyste se ujistili, že je již vybrán celý sloupec J.
To je to, co jsem dosud používal.

Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Pokračujte kliknutím na OK"
Nastavte WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Nastavit WorkRng = WorkRng.Columns(1)
SendKeys "~"
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Pro xRowIndex = xLastRow do 1 kroku -1
Nastavit Rng = WorkRng.Range("A" & xRowIndex)
Pokud Rng.Value = "Nová linka GMS" Pak
Rng.EntireRow.Insert Shift:=xlDown
End If
další


Zkoušel jsem experimentovat pomocí příkazu SendKeys "~" mezi některými kroky, abych se pokusil přimět jej, aby automaticky stiskl enter, když se objeví vstupní pole, ale ani to nefungovalo. Nebyl jsem si jistý, kde přesně použít příkaz SendKeys v makru nebo jestli to bude fungovat i se vstupním polem!
Tento komentář byl moderátorem webu minimalizován
prosím, pomozte mi, mám data. Mám jednoměsíční časové údaje, v nichž musím vložit prázdné řádky podle doby úniku
Tento komentář byl moderátorem webu minimalizován
Ahoj, hr.babu08, omlouvám se za pozdní odpověď. Předpokládám, že chcete vložit prázdné řádky nebo označit chybějící sekvenční data, pokud ano, můžete vyzkoušet funkci Najít chybějící pořadové číslo aplikace Kutools pro Excel. Zde je výukový program o této funkci: https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf chcete jiné metody pro vkládání prázdných řádků pro chybějící sekvenci, navštivte:https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Lze toto marko použít/změnit pro barevné buňky?
Potřebuji vložit alespoň 10 řádků nad konec každé řady, které jsou barevné.
Thx!
Tento komentář byl moderátorem webu minimalizován
Potřebuji přidat konkrétní řádky s hodnotami v nich pro konkrétní obsah buněk, ale nejsem si jistý, jak to udělat, aniž bych musel ručně dělat více než 3800 řádků

Příklad: A1 = Uzel1
Potřebuji mít vložený řádek a do něj zadat hodnotu Scanner
Zadejte další řádek a zadejte hodnotu Tiskárna
další řádek s hodnotou CD.
atd.
Tento komentář byl moderátorem webu minimalizován
Ahoj, Chrisi, zde je VBA, které vám může pomoci automaticky vložit tři řádky (Skener, Tiskárna, CD), když je hodnota rovna 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

Dejte mi prosím vědět, jestli to pro vás funguje.
Zatím zde nejsou žádné komentáře
Načíst další
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění