我有一些从 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 行未排序。但这是一个开始。
也许其他人可以改进答案。
关于excel - 根据顺序删除整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635481/