利用vbs将A列唯一的数据删除此行,A列含有完全相同的数字时保存所在的行数
以下是利用vbs将A列唯一的数据删除此行,A列含有完全相同的数字时保存所在的行数的代码:
```
'打开Excel文件
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlsx")
Set objWorksheet = objWorkbook.Worksheets(1)
'获取A列的数据
Set objRange = objWorksheet.Range("A1:A" & objWorksheet.UsedRange.Rows.Count)
'创建字典对象
Set dict = CreateObject("Scripting.Dictionary")
'遍历A列的数据
For Each cell In objRange
'如果字典中已经存在该数字,则保存该行号
If dict.Exists(cell.Value) Then
dict(cell.Value) = dict(cell.Value) & "," & cell.Row
'否则将该数字添加到字典中
Else
dict.Add cell.Value, cell.Row
End If
Next
'遍历字典中的数据
For Each key In dict.Keys
'如果该数字只出现了一次,则删除该行
If Len(dict(key)) = Len(CStr(dict(key))) Then
objWorksheet.Rows(dict(key)).Delete
End If
Next
'保存并关闭Excel文件
objWorkbook.Save
objWorkbook.Close
objExcel.Quit
```
这段代码首先打开Excel文件,然后获取A列的数据。接着创建一个字典对象,遍历A列的数据,如果字典中已经存在该数字,则保存该行号,否则将该数字添加到字典中。最后遍历字典中的数据,如果该数字只出现了一次,则删除该行。最后保存并关闭Excel文件。
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。