excel - 循环使用白色填充的所有单元格并将它们更改为无填充
问题描述
我有一个巨大的电子表格。我想遍历所有单元格并将白色填充更改为无填充。这段代码要么耗时太长,要么让我的电脑崩溃,所以我无法判断它是否真的有效。有人看到它有什么问题吗?
Sub Remove_White_Cells()
Application.ScreenUpdating = False
Dim cell As Range
Dim wb As Workbook
Dim ws As Worksheet
For Each ws In ActiveWorkbook
For Each cell In Worksheets
If cell.Interior.Color = RGB(0, 0, 0) Then
cell.Interior.Color = xlNone
End If
Next cell
Next ws
End Sub
解决方案
首先,循环遍历每个工作表中每个单元格的代码效率极低。出于这个原因,我会使用.UsedRange
将其限制为使用过的单元格。
结果如下:
Sub Remove_White_Cells()
Application.ScreenUpdating = False
Dim cell As Range
Dim wb As Workbook
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets 'Worksheet iterator
For Each cell In ws.UsedRange.Cells 'Select only used cells
If cell.Interior.Color = RGB(0, 0, 0) Then
cell.Interior.Color = xlNone
End If
Next cell
Next ws
Application.ScreenUpdating = True
End Sub
推荐阅读
- angular - Angular 拦截器在请求失败时重试
- python - 在 Python 字符串中突出显示 HTML
- python - 有没有办法在不使用 os 行和列的情况下全屏 python cmd 窗口
- ajax - 基于 Ajax 的 nonce 的最佳实践
- cmake - cmake build dir 存储在 ramdisk 中并符号链接到项目导致 make 失败
- wordpress - 主机服务器重新启动后使用“docker-compose up”重新启动网站是一种标准做法吗?
- laravel - orWhereHas not existing laravel Eloquent php 7.4
- node.js - JSON 数据到 React 中的图表
- drupal - drupal 8和9有什么区别
- mongodb - 如何在 Windows 上启动 mongoDB Compass?