要求这个文件里面凡是黑色的行都要删除,如果红色的行与黑色的行一样,那么红色的行也要删除,就是说删除时遇到重复的全部删除,比如1,2,2,3,4,4,5结果应该剩下1,3,5,如果有唯一的黑色行,那么也把他删了,这个论坛很专业啊,高手应该不少啊,不会很难吧,大家认为有什么办法可以实现呢?或者有没有相关的脚本?
解决方案 »
- 动态添加控件问题
- 本人遇到一个问题!请帮忙看一下
- 关于VB中文注解的乱码问题,请指教?
- 急!以前没有踫到过的recordset结果集问题!
- [在线等] vb关于ftp上传下载的 !!!!!!!!
- 高分求关于鼠标锁定问题~~~~急~~~
- 没分了,可怜!求加密+解密算法: 加密:将A串(数字+字母)变成另一串B串(数字+字母)(唯一),解密:将B串(数字+字母)还原成A串(数字+字母)(唯一
- 再次感谢“情浓风寒”
- 100+50分再问:如何禁止RichTextBox中由OLEObjects.add 插入文件后自动打开?
- 我的vb在WIN2000无法成功安装,各位大虾我该怎么办?
- 十万火急:vb调用a.dll出错,说文件未找到!!
- 可以读取网页表格的内容吗?
如果是07的话
有这个功能
参考:上期的电脑报
Sub Macro2()
With [A1].Resize([A65536].End(xlUp).Row, 1)
.FormulaR1C1 = "=IF(COUNTIF(R1C3:RC3,RC3)=1,1,1/0)" '重點
.SpecialCells(xlCellTypeFormulas, 16).EntireRow.Select 'Delete
End With
End Sub
'
Dim arrRow() As String
Dim num As Long
num = 0
ReDim arrRow(num)
For i = 1 To ActiveCell.SpecialCells(xlCellTypeLastCell).Row
'记录凡是颜色=灰色的行号
If Rows(i).Interior.ColorIndex = 16 Then
arrRow(num) = i
num = num + 1
ReDim Preserve arrRow(num)
End If
'记录重复的行号
For j = 1 To i - 1
If Cells(i, 1) = Cells(j, 1) Then
arrRow(num) = i
num = num + 1
ReDim Preserve arrRow(num)
Exit For
End If
Next
Next
'通过行号,组成一个选择范围
strTemp = ""
For i = 0 To UBound(arrRow) - 1
' Debug.Print arrRow(i)
If strTemp <> "" Then
strTemp = strTemp + "," + arrRow(i) + ":" + arrRow(i)
Else
strTemp = strTemp + arrRow(i) + ":" + arrRow(i)
End If
Next
'选择组成的行范围
Range(strTemp).Select
'删除选择的行
Selection.Delete Shift:=xlUp
End Sub