枚举或查找所有空Excel单元格并更改其样式或执行其他处理的最快方法
本文关键字:其他 执行 样式 处理 方法 查找 Excel 枚举 单元格 | 更新日期: 2023-09-27 18:14:17
这可能是枚举或迭代的最佳方式,或者只是在Excel中查找空单元格或具有特定数据结构的单元格,稍后一旦找到它,就可以对其进行一些处理。
我累了范围,值,Value2等,但它需要相当长的时间当Excel表相当大。我相信一定有其他有效的方法。如果您能展示一些示例代码片段就太好了。
答案相对简单:从excel中批量获取数组(搜索SO查找如何)-测试数组的值是否为空单元格,然后仅访问excel中的空单元格。
这有点麻烦,但是最快的方法,因为迭代每个单元格比简单地批量获取所有数据要慢得多。
要查找空白单元格,请使用范围对象的.SpecialCells
方法。
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.specialcells (v = office.11) . aspx
.specialCells
方法返回匹配条件的范围对象(即xlCellTypeVisible
、xlCellTypeBlanks
等)。然后你可以迭代这个范围来执行你的格式化,等等。
更新我不是c#程序员,但我可以告诉你我如何在VBA中做到这一点。假设互操作暴露了大部分/所有相同的方法和功能,您应该能够将其转换为您的目的。
Sub ColorVisibles()
Dim rng As Range
Dim rngBlanks As Range
Dim blanksExist As Boolean
'define your range
Set rng = Range("A1:AA300")
'check to make sure there are blank cells in the range:
blanksExist = Application.WorksheetFunction.CountBlank(rng) > 0
If blanksExist Then
Set rngBlanks = rng.SpecialCells(xlCellTypeBlanks)
rngBlanks.Interior.Color = vbYellow
Else:
MsgBox "No blank cells exist in the specified range.", vbInformation
End If
End Sub