问题:我有 A 列和 B 列。A 列是可预测的,A 列有数千行。B 列的每个 A 列都有不同的行。例如,A 列的值 REQ_000021 可能在 B 列中有 5 行。这些都可以。我需要删除的行是每个 A 列只有一个 B 列的行。
我知道这不是人们做的典型事情,所以我找不到一个 VB 脚本来做这件事。如果网站允许,我会发布图片。首先需要15个代表点。
编辑:
我刚刚学会了如何在 stackoverflow 上换行,所以这里是:
Col A Col B
----------------------------------
Scott Us
德国
西班牙
-------- --------------------------
布赖恩美国
---------- ------------
Mark US
----------------------------------
意大利
Tim葡萄牙
爱尔兰
----------------------------------
删除 brian 和 Mark,因为 A 列和 B 列各有一行。
让 Scott 和 Tim 一个人呆着,因为每列 A 行有不止一个 B 列行。请记住,Scott 和 Tim 的 A 列是大的合并行。
这就是我想要完成的。
编辑:
根据斯科特的回答,这是输出:
为了让其他正在查看此内容的人清楚起见,我为一些标记加上了标题。
编辑:以下 VB 脚本将删除 C 列中具有“DELETE”值的任何行。
我在 Excel 中将其用作宏。对于那些刚接触宏的人,请在 Excel 2007 中启用开发人员视图以访问可让您切换到 VB 屏幕的视图。
子 deleteDeleteString() 变暗为范围,单元格为范围,删除为范围 将 strCellValue 调暗为字符串 设置 rng = Intersect(Range("C:C"), ActiveSheet.UsedRange) 对于每个单元格 strCellValue = (cell.Value) '如果在 C 列的单元格中发现 DELETE 大于 0 次,则删除它的整行 如果 InStr(strCellValue, "DELETE") > 0 那么 如果 del 什么都不是,那么 设置 del = 单元格 否则:设置 del = Union(del, cell) 万一 万一 下一个单元格 出错时继续下一步 del.EntireRow.delete 结束子