【问题标题】:Excel VBA Loop to insert rows based on cell valueExcel VBA循环根据单元格值插入行
【发布时间】:2017-04-03 15:17:43
【问题描述】:

首先是数据。

A          B
Type 15    5
Type 2     7
Type 3     9

我需要创建一个循环,从 B1 开始并根据 B 的单元格值插入一些行。

我找到了下面的代码,但它没有循环,我需要它检查的下一个单元格是第一个单元格 (5) + 1 的结果,以便它正确。

**

  • 结果应该是:

**

A          B
Type 1     5


Type 2     7





Type 3     9

etc.

提前致谢!

【问题讨论】:

  • 你的代码在哪里?
  • 我们看不到您提到的代码。此外,如果 A 列的值以 Type 和 1、2、3 等开头,那么为什么在可以简单地使用公式的地方使用 VBA?
  • 尝试截取输入和结果,这样您的意思就很明显了。关于代码,我认为我们看不到它需要再次提及。
  • @ManishChristian 操作需要空格,这就是结果应该有额外空格的原因。
  • 理解 op 真正想要实现的目标有点令人困惑。回滚到您的编辑。

标签: excel vba loops insert rowcount


【解决方案1】:

我一开始就搞砸了这个问题,但是我找到了答案。

请看下文。

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 = True 结束子

【讨论】:

    猜你喜欢
    • 2015-09-24
    • 1970-01-01
    • 2023-02-02
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多