问题:我有列A和列B.列A是可预测的,有数千列A行。 B列在每列A中有变化的行。例如,列A可能在列B中具有5行的值REQ_000021。这些都可以。我需要删除的行是每列A只有一列B的行。Excel - 删除两列之间的所有一对一行
我知道这不是一个典型的事情,人们这样做,所以我找不到一个VB脚本来做到这一点。 如果网站允许,我会发布图片。首先需要15个代表点。
编辑:
我刚学会做换行符的计算器,所以这里这个云:
Col A Col B
----------------------------------
Scott Us
Germany
Spain
----------------------------------
brian US
----------------------------------
Mark US
----------------------------------
Italy
Tim Portugal
Ireland
----------------------------------
删除布莱恩和马克因为有一行列A和B列中
离开斯科特和蒂姆独自一人,因为每列A列有多于一列的B列。请记住,Scott和Tim的列A是大的合并行。
这就是我想要完成的。
编辑:
每斯科特的答案,这是输出:
我一些字幕标记为清楚起见,为别人谁在看这个。
编辑: 这下面的VB脚本将删除具有“删除” C列
我用它在Excel宏值的任何行。对于那些刚接触宏的用户,请在Excel 2007中启用“开发者视图”以访问允许切换到VB屏幕的视图。
Sub deleteDeleteString() Dim rng As Range, cell As Range, del As Range Dim strCellValue As String Set rng = Intersect(Range("C:C"), ActiveSheet.UsedRange) For Each cell In rng strCellValue = (cell.Value) 'if DELETE is found in a cell in Column C greater than 0 times, delete it's entire row If InStr(strCellValue, "DELETE") > 0 Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.delete End Sub
这样做的效果是因为对于合并的单元格,Excel将读取合并区域左上角最左侧单元格中的值,而不管数据最初输入的是哪个单元格。 –