excel - 根据顺序删除整行

标签 excel sequence vba

我有一些从 MYOB 转储的数据需要排序。 MYOB转储的数据格式如下:

  • BSB 号码:000-000
  • 银行帐号:123456789
  • 银行账户名称:公司名称

我在这些单元格的右侧添加了一个 if 语句,它返回我确定为序列的 1 或 2 或 3。

如果不保留1,2,3的顺序,是否有宏或方法可以删除整行数据?

示例:

  • BSB 号码:000-000 1
  • 银行帐号:123456789 2
  • 银行账户名称:公司名称 3
  • BSB 号码:000-000 1
  • 银行帐号:123456789 2
  • 银行账户名称:公司名称 3
  • BSB 号码:000-000 1
  • 银行账户名称:公司名称 3
  • BSB 号码:000-000 1
  • 银行帐号:123456789 2
  • BSB 号码:000-000 1
  • 银行帐号:123456789 2
  • 银行账户名称:公司名称 3

序列必须保持为 1 然后 2 然后 3。如果序列中断,则必须删除该行。

这可能吗?

谢谢!

最佳答案

一个快速的 VBA 宏。假设您的数据是 C 列 (=3)。
如果应删除一行,它会向 D 列写入“x”

Sub sort()
Application.ScreenUpdating = False
For i = Columns(3).Find("*", [C1], , , , xlPrevious).Row To 4 Step -1

  Merge = Cells(i - 0, 3).Value _
        & Cells(i - 1, 3).Value _
        & Cells(i - 2, 3).Value _
        & Cells(i - 3, 3).Value

  If Merge = "4321" Then
    i = i - 3
  Else
    Cells(i, 4) = "x"
  End If

Next i
Application.ScreenUpdating = True
End Sub

不完美,因为前 4 行未排序。但这是一个开始。
也许其他人可以改进答案。

enter image description here

关于excel - 根据顺序删除整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635481/

相关文章:

apache-spark - 如何识别 Spark Dataframe 中的离散状态(振荡)?

r - 如何找到序列矩阵中两点之间的距离?

VBA:在单元格中拆分文本,为单元格中的每个元素创建重复行

vba - 匹配单元格中的相同名称

java - Apache POI 时间单元

excel - 在Excel中检索单元格名称

vba - Excel VBA检查插件是否已安装但未打开

Angular AppComponent 在子组件之后加载

c# - 程序从控制台正常运行,但不能从 Windows 服务运行

python - 对多个 Excel 工作簿的脚本更改