【发布时间】:2020-12-29 12:36:03
【问题描述】:
我正在研究一个宏来查看股票数据。如果在给定日期没有可用数据,则数据在这些行中显示“-”。我需要删除这些行。 我想出了一个删除找到的第一行的宏。我需要继续执行,直到所有带有“-”的行都被删除。
如何使用 Do Until 循环来做到这一点?
Sub removejank()
'
' removejank Macro
Cells.Find(What:="-", After:=ActiveCell, LookIn:=xlFormulas2, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
If ActiveCell.Value = "-" Then
Rows(ActiveCell.Row).Delete
End If
End Sub
【问题讨论】:
-
包含
-的单元格的格式是什么? IOW,这是一个实际的文本-还是输入0将显示为-的会计或货币格式的结果? -
这些单元格在哪一列?编辑:我看到它似乎基本上是整行数据。因此,例如,如果您仅查看 A 列,就足够了吗? (我们可以搜索所有列,但限制为 1 可能会加快您的代码速度)。
-
“-”是实际文本,后面没有公式或计算。数据的结构为具有特定股票的日期、开盘价、最高价、最低价、收盘价、成交量的单独列。如果缺少任何信息,则 B 到 G 列都将包含这个“-”符号。所以是的,如果我们只检查从 B 到 G 的任何奇异列,就足以确定该行应该被删除。