Excel VBA循环根据单元值插入行

问题描述:

首先是数据。Excel VBA循环根据单元值插入行

A   B 
Type 15 5 
Type 2  7 
Type 3  9 

我需要创建一个循环,即开始于B1和插入一个编号基于B.

的单元值,我发现下面的代码行,但它不循环,以及i需要它检查的下一个单元是第一个单元格(5)+ 1的结果,以便它是正确的。

**

  • 结果应该是:提前

**

A   B 
Type 1  5 


Type 2  7 





Type 3  9 

etc. 

谢谢!

+0

哪里是你的代码? – Fairy

+0

我们看不到您提及的代码。另外,如果列A将具有以'Type'和1,2,3等开头的值,那么为什么要使用VBA,您可以简单地使用公式? – ManishChristian

+0

尝试截取输入和结果,以便明确你的意思。关于代码,我不认为需要再次提到我们看不到它。 – Masoud

我首先搞砸了这个问题,但是我找到了答案。

请参阅下文。

Sub InsertRowsIf() 
Dim lr As Long, R As Range, i As Long 
lr = Range("B" & Rows.Count).End(xlUp).Row 
Set R = Range("B1", "B" & lr) 
Application.ScreenUpdating = False 
For i = R.Rows.Count To 1 Step -1 
If IsNumeric(R.Cells(i, 1).Value) And Not IsEmpty(R.Cells(i, 1)) Then 
    R.Cells(i, 1).Offset(1, 0).Resize(R.Cells(i, 1).Value).EntireRow.Insert 
End If 
Next i 

Application.ScreenUpdating =真 结束小组