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

Come inserire automaticamente la riga in base al valore della cella in Excel?

doc-inserisci-riga in base al-valore-1
Supponiamo di avere un intervallo di dati e di voler inserire automaticamente righe vuote sopra o sotto un determinato valore in Excel, ad esempio, inserire automaticamente righe sotto il valore zero come mostrato nell'immagine sottostante. In Excel, non esiste un modo diretto per risolvere questa attività, ma posso introdurre un codice macro per inserire automaticamente le righe in base a un determinato valore in Excel.
Inserisci la riga sotto in base al valore della cella con VBA

Inserisci la riga sopra in base al valore della cella con Kutools per Excel buona idea 3

Per inserire una riga in base al valore della cella eseguendo VBA, eseguire le seguenti operazioni:

1. Stampa Alt + F11 tasti contemporaneamente e a Microsoft Visual Basic, Applications Edition la finestra si apre.

2. Clic inserire > Modulo, quindi incolla sotto il codice VBA nel popping Modulo finestra.

VBA: inserisci la riga sotto in base al valore della cella.

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 chiave o il Correre , viene visualizzata una finestra di dialogo e selezionare la colonna che contiene zero. Vedi screenshot:
doc-inserisci-riga in base al-valore-2

4. Clic OK. Quindi le righe vuote verranno inserite sotto il valore zero.
doc-inserisci-riga in base al-valore-3

Consiglio:

1. Se desideri inserire righe in base ad un altro valore, puoi modificare 0 a qualsiasi valore tu voglia nel VBA: If Rng.Value = "0" Allora.

2. Se vuoi inserire righe sopra lo zero o un altro valore, puoi usare il codice vba sottostante.

VBA: inserisci la riga sopra il valore 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-inserisci-riga in base al-valore-4


Se non hai familiarità con VBA, puoi provare Kutools for Excel's Seleziona celle specifiche utility, quindi inserisci le righe sopra.

Kutools for Excel, con oltre 300 funzioni utili, rende il tuo lavoro più facile. 

Dopo l'installazione Kutools per Excel, per favore fai come di seguito:(Scarica subito Kutools per Excel!)

1. Selezionare l'elenco da cui si desidera trovare le celle specifiche e fare clic su Kutools > Seleziona > Seleziona celle specifiche. Vedi screenshot:
doc inserisci riga in base al valore 9

2. Nella finestra di dialogo popping, seleziona Intera riga opzione, quindi vai a selezionare Equivale da Tipo specifico elenco, quindi immettere il valore che si desidera trovare nella casella di testo a destra. Vedi screenshot:
doc inserisci riga in base al valore 6

3. Clic Oke viene visualizzata una finestra di dialogo per ricordarti il ​​numero di righe selezionate, chiudila.

4. Posizionare il cursore su una riga selezionata e fare clic con il tasto destro per selezionare inserire dal menu contestuale. Vedi screenshot:
doc inserisci riga in base al valore 7

Ora le righe vengono inserite sopra in base a un valore specifico.
doc inserisci riga in base al valore 8


Articoli relativi:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (43)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Voglio incollare un contenuto specifico sotto la cella. Come farlo? Invece di Riga vuota, voglio inserire un valore in poche colonne.
Questo commento è stato fatto dal moderatore sul sito
Ciao, voglio inserire più righe in base al valore Es: voglio inserire 1 riga vuota sotto la cella con valore 2, 2 righe sotto la cella con valore 3, 3 righe sotto la cella con valore 4 e così via Puoi per favore aiutami con questo?
Questo commento è stato fatto dal moderatore sul sito
Hai mai avuto una risposta a questo? Sto cercando di fare la stessa cosa.

Avere un elenco di dipendenti con # di settimane di vacanza che ottengono. Voglio inserire una riga per ogni settimana. Saranno 1, 2 o 3 righe a seconda di quanto tempo hanno guadagnato. i #s 1 2 3 sono già nel mio foglio di calcolo.
Questo commento è stato fatto dal moderatore sul sito
Voglio inserire righe in base a un conteggio utilizzando un valore di cella in un foglio di calcolo e inserendo righe in un altro foglio di calcolo.
Questo commento è stato fatto dal moderatore sul sito
Grazie al tuo messaggio. Ma puoi descrivere la tua domanda con maggiori dettagli? Quali righe vuoi inserire? Vuoto? E dove vuoi inserire nel foglio? Se puoi, fammi uno screenshot. Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ti amo. Grazie.
Questo commento è stato fatto dal moderatore sul sito
È stato fantastico! Grazie uomo.
Questo commento è stato fatto dal moderatore sul sito
Come posso inserire più di una riga?
Questo commento è stato fatto dal moderatore sul sito
Puoi provare questo VBA

Sottolinea vuota()
'Aggiornamento entro il 20150203
Dim Rng come intervallo
Dim WorkRng come intervallo
Dim xInsertNum Fino a quando
' In caso di errore Riprendi Avanti
xTitleId = "Ktools per Excel"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Tipo:=8)
Se WorkRng non è nulla, allora esci da Sub
xInsertNum = Application.InputBox("Il numero di righe vuote che vuoi inserire ", xTitleId, Type:=1)
Se xInsertNum = False allora
MsgBox " Il numero di righe vuote che vuoi inserire ", vbInformation, xTitleId
Exit Sub
End If
Imposta WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Per xRowIndex = xLastRow A 1 passaggio -1
Imposta Rng = WorkRng.Range ("A" & xRowIndex)
If Rng.Value = "0" Allora
Rng.Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
End If
Successiva
Application.ScreenUpdating = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
se vuoi inserire righe vuote sotto, prova questo

Sottolinea vuota()
'Aggiornamento entro il 20150203
Dim Rng come intervallo
Dim WorkRng come intervallo
Dim xInsertNum Fino a quando
' In caso di errore Riprendi Avanti
xTitleId = "Ktools per Excel"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Tipo:=8)
Se WorkRng non è nulla, allora esci da Sub
xInsertNum = Application.InputBox("Il numero di righe vuote che vuoi inserire", xTitleId, Type:=1)
Se xInsertNum = False allora
MsgBox " Il numero di righe vuote che vuoi inserire ", vbInformation, xTitleId
Exit Sub
End If
Imposta WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Per xRowIndex = xLastRow A 1 passaggio -1
Imposta Rng = WorkRng.Range ("A" & xRowIndex)
If Rng.Value = "0" Allora
Rng.Offset(1, 0).Resize(xInsertNum).EntireRow.Insert Shift:=xlDown
End If
Successiva
Application.ScreenUpdating = True
End Sub

Quello sotto è inserire le righe sopra.
Questo commento è stato fatto dal moderatore sul sito
CIAO Sunny, questa macro funziona perfettamente per me; dovevo solo cambiare la quantità di righe in 30 e cambiare lo 0 in testo: "Saldo di chiusura". Ma ora voglio copiare e incollare una selezione di celle alta 30 righe nelle 30 righe vuote che sono state appena inserite da questa macro. Puoi suggerire una nuova macro (o un emendamento a questa) per copiare e incollare un intervallo in ciascuna riga di 30 spazi vuoti. Ho chiamato l'intervallo da copiare e incollare "modello".
Questo commento è stato fatto dal moderatore sul sito
Ho bisogno di un enorme aiuto su questo argomento. Ho 2 colonne, la 1a ho i miei dati ora 01/01/2016 05:00:00, giorni/mesi/anno ora/minuto/secondi e nella 2a colonna i rispettivi dati associati all'ora.

Il mio problema è che voglio aggiungere il tempo dei dati tra le righe poiché ho degli intervalli di giorni. La prima riga è 1/01/01 e la seconda riga ha, ad esempio, 2016/2/10, quindi ho 01 giorni. e quel codice non funziona per me.

Non vedo l'ora di ricevere un feedback, per favore! Grazie
Questo commento è stato fatto dal moderatore sul sito
Puoi provare questo VBA

Sub InsertValueBetween()
'Aggiornamento 20130825
Dim WorkRng come intervallo
Dim Rng come intervallo
Dim outArr come variante
Dim dic come variante
Imposta dic = CreateObject("Scripting.Dictionary")
'In caso di errore Riprendi Avanti
xTitleId = "KtoolsforExcel"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Tipo:=8)
num1 = WorkRng.Range("A1").Valore
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Valore
intervallo = num2 - num1
ReDim outArr(1 A intervallo + 1, 1 A 2)
Per ogni Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Valore
Successiva
Per i = 0 Per intervallo
outArr(i + 1, 1) = i + num1
Se dic.Esiste(i + num1) Allora
outArr(i + 1, 2) = dic(i + num1)
Altro
outArr(i + 1, 2) = ""
End If
Successiva
Con WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Valore = outArr
.Selezionare
Fine Con
End Sub


Oppure, se hai Kutools per Excel, puoi provare questa funzione:
Questo commento è stato fatto dal moderatore sul sito
Grazie mille, ho provato entrambi, il primo dato che ho tipo 1 righe di dati, lo faccio per tutte le 500 righe e non fa nulla, penso che forse abbia una limitazione sulle righe da usare e quando seleziono solo le prime 500 righe, ad esempio, non crea le righe mancanti, sostituisce le righe per i dati mancanti.

Un altro problema che ho è che i miei dati temporali hanno anche il giorno/mese/anno HH: MM: SS
Questo commento è stato fatto dal moderatore sul sito
Da 2 a 3 crea i dati mancanti che voglio ok, ma il valore del 03/01/2016 viene eliminato e c'è del tempo che viene eliminato qualcosa che non voglio nemmeno io
Questo commento è stato fatto dal moderatore sul sito
Spiacente, il codice VBA non ti ha aiutato, non riesco a trovare il metodo che possa funzionare per il formato di data e ora. Se alla fine trovi la soluzione, potresti farmelo sapere? Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao di nuovo Sunny, ho avuto un po' di successo nel modificare il codice in questo (cambio la riga num1 in A2 e With WorkRng.Range ("A2: A100000"). Resize(UBound(outArr, 1), UBound(outArr, 2) ):


Sub InsertValueBetween()
'Aggiornamento 20130825
Dim WorkRng come intervallo
Dim Rng come intervallo
Dim outArr come variante
Dim dic come variante
Imposta dic = CreateObject("Scripting.Dictionary")
'In caso di errore Riprendi Avanti
xTitleId = "KtoolsforExcel"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Tipo:=8)
num1 = WorkRng.Range("A2").Valore
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Valore
intervallo = num2 - num1
ReDim outArr(1 A intervallo + 1, 1 A 2)
Per ogni Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Valore
Successiva
Per i = 0 Per intervallo
outArr(i + 1, 1) = i + num1
Se dic.Esiste(i + num1) Allora
outArr(i + 1, 2) = dic(i + num1)
Altro
outArr(i + 1, 2) = ""
End If
Successiva
With WorkRng.Range("A2:A100000").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Valore = outArr
.Selezionare
Fine Con
End Sub



Ti mostro i grafici, non funziona al 100% perché non crea il tempo da A1 a A2
Questo commento è stato fatto dal moderatore sul sito
Ecco la mia domanda ed è molto difficile immagino .. esiste un codice vba che aggiunge una nuova riga sotto una colonna filtrata e copia solo le prime tre celle nella nuova riga aggiunta e continua a farlo finché l'utente non smette di colpire "entra" e non filtra le celle filtrate?
Questo commento è stato fatto dal moderatore sul sito
La tua domanda è alquanto difficile e complessa, puoi inserire la domanda nel nostro forum, forse qualcuno può risponderti. https://www.extendoffice.com/forum.html
Questo commento è stato fatto dal moderatore sul sito
ciao, voglio solo chiedere come aggiungere una riga se la codifica è che l'aggiunta di una riga deve essere eseguita quando una cella ha già un dato (è per una cartella di lavoro Excel con molti fogli :) Grazie!
Questo commento è stato fatto dal moderatore sul sito
forse questo codice vba può aiutarti. Aggiungerà righe se la riga sopra non è vuota

Aiuto secondario()
Conteggio fioco per tutto il tempo
Per conteggio = ActiveSheet.UsedRange.Rows.count A 1 passaggio -1
Se Information.IsEmpty(Cells(count, 1)) = False Then Rows(count + 1).Insert
Prossimo conteggio
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, sto provando a utilizzare questo codice per inserire una riga quando le prime 4 cifre in una cella cambiano (se possibile)

per esempio,
2222A
2222B
2223K


la riga verrà inserita dopo 2222B in quanto il 3° numero è un 3 e non un 2

Grazie ragazzi!!
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per questo, tuttavia ho un altro scenario in cui devo inserire una cella cingle sotto il valore che non è zero. Apprezzare qualsiasi suggerimento.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Gina, ho appena trovato il codice per inserire una riga vuota sopra la cella che non è vuota, forse qualcuno può modificarlo per soddisfare le tue esigenze.

SottoInserisci_Righe()
Dim LR quanto a lungo, r quanto a lungo

Application.ScreenUpdating = False
LR = Intervallo("A" & Righe.Conteggio).Fine(xlSu).Riga
Per r = LR A 1 Passo -1
Se Len(Intervallo("A" & r).Valore) > 0 Allora
Righe(r).Inserisci
End If
Prossimo r
Application.ScreenUpdating = True
End Sub

provenire https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
Questo commento è stato fatto dal moderatore sul sito
Ciao, questo è molto utile. E se volessi aggiungere due righe sotto e volessi più valori. Ad esempio, voglio aggiungere due righe dopo il valore 26/04/2019 e poi due righe dopo il 03/04/2019 e l'elenco continua. Come posso continuare ad aggiungere a vba? Scusa sono ancora un principiante. Grazie in anticipo.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Safa, forse puoi provare l'utilità di inserimento righe/colonne vuote di Kutools.
Questo commento è stato fatto dal moderatore sul sito
Sottolinea vuota()
'Aggiornamento entro il 20150203
Dim Rng come intervallo
Dim WorkRng come intervallo
On Error Resume Next
xTitleId = "KtoolsforExcel"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Tipo: = 8)
Imposta WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Per xRowIndex = xLastRow A 1 passaggio - 1
Imposta Rng = WorkRng.Range ("A" & xRowIndex)
If Rng.Value = "0" Allora
Rng.EntireRow.Insert Maiusc: = xlGiù
End If
Successiva
Application.ScreenUpdating = True
End Sub


Ho bisogno che funzioni ogni volta che metto qualcosa nella cella e anche con più variabili. Quello che voglio dire è che se metto 2 nella cella, ho bisogno che inserisca 2 righe e non solo 1.
Questo commento è stato fatto dal moderatore sul sito
Ho bisogno della macro per aggiungere righe in base a una colonna di quantità in cui se la quantità è maggiore di 1, inserisce il numero di righe -1. Se la quantità è 5 inserisce 4 righe sotto di essa e compila i dati e cambia la quantità richiamata da 5 a 1 per riga. Salta tutta la quantità 1.
Questo commento è stato fatto dal moderatore sul sito
Dimmi il codice in cui voglio aggiungere un determinato numero di righe in base al valore di una cella. ad esempio, se la cella contiene la cifra 18, dovrebbero essere aggiunte automaticamente 18 righe dove voglio e il resto della tabella/cella dovrebbe spostarsi verso il basso.
Questo commento è stato fatto dal moderatore sul sito
Molte grazie per questo, davvero un enorme risparmio di tempo. Sarebbe possibile aggiungere del codice che mi permetta di inserire del testo nella nuova riga. Ad esempio, sto inserendo nuove righe in base al valore target 'x', quindi voglio aggiungere il valore di testo 'y' nella cella sotto il valore target 'x'. È possibile?
Questo commento è stato fatto dal moderatore sul sito
Ciao. La macro funziona per me, ma c'è un modo per avere sempre l'intervallo/i parametri impostati sempre sulla colonna J senza che la casella di input venga visualizzata? Vorrei che saltasse il passaggio della casella di input in arrivo. Inoltre, mi sono assicurato che direttamente prima di questa macro che l'ultima riga della mia macro precedente sia Range ("J: J"). Seleziona per assicurarti che l'intera colonna J sia già selezionata.
Questo è quello che ho usato finora.

Dim Rng come intervallo
Dim WorkRng come intervallo
On Error Resume Next
xTitleId = "Fai clic su OK per continuare"
Imposta WorkRng = Selezione.Applicazione
Imposta WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Tipo:=8)
Imposta WorkRng = WorkRng.Columns(1)
Chiavi di invio "~"
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
Per xRowIndex = xLastRow A 1 passaggio -1
Imposta Rng = WorkRng.Range ("A" & xRowIndex)
Se Rng.Value = "Nuova linea GMS" Allora
Rng.EntireRow.Insert Maiusc:=xlGiù
End If
Successiva


Ho provato a sperimentare utilizzando il comando SendKeys "~" tra alcuni dei passaggi per provare a farlo premere invio automaticamente quando viene visualizzata la casella di input, ma neanche quello ha funzionato. Non ero sicuro di dove usare esattamente il comando SendKeys nella macro o se avrebbe funzionato anche con una casella di input!
Questo commento è stato fatto dal moderatore sul sito
per favore aiutami ad avere un data.ho un mese di dati temporali, in quanto devo inserire righe vuote in base al tempo di fuga
Questo commento è stato fatto dal moderatore sul sito
Ciao, hr.babu08, scusa se la risposta è in ritardo. Immagino che tu voglia inserire righe vuote o lasciare un segno per i dati della sequenza mancanti, in tal caso, puoi provare Kutools for Excel'S Trova il numero di sequenza mancante funzione. Ecco il tutorial sulla funzione: https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf vuoi altri metodi per inserire righe vuote per la sequenza mancante, visita:https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Questo marco può essere usato/modificato per le celle colorate?
Devo inserire almeno 10 righe sopra la fine di ciascuna serie che sono colorate.
Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ho bisogno di aggiungere righe particolari con valori al loro interno per contenuti di celle specifici, ma non sono sicuro di come farlo senza doverlo fare manualmente per oltre 3800+ righe

Es: A1 = Nodo1
Ho bisogno di inserire una riga e di inserire il valore Scanner
Immettere un'altra riga e immettere il valore Stampante
un'altra riga con valore CD.
eccetera
Questo commento è stato fatto dal moderatore sul sito
Ciao, Chris, ecco un VBA che può aiutarti a inserire automaticamente tre righe (Scanner, Printer, CD) quando il valore è uguale a 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

Per favore fatemi sapere se funziona per voi.
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL