|
用进度条的代码中必须使用 DoEvents ,这将牺牲计算速度,不太理想——如果观点错误,请指正。
- Public Sub 改颜色()
- Dim iColor&, m1&, M&, Rng As Range, myRng As Range
- iColor = Worksheets("sheet1").Range("a1").Interior.Color
- Set myRng = Worksheets("sheet1").Range("a2:n43201")
- 'M = WorksheetFunction.CountA(myRng) '这是非空单元格个数,不准确
- M = 14 * 43200
- If M = 0 Then Exit Sub
- For Each Rng In myRng
- If Rng.Interior.Color <> iColor Then
- Rng.Interior.Color = 16777215 ' xlNone 不同版本的颜色代码不一样
- End If
- m1 = m1 + 1
- If Int(m1 / M * 100) = m1 / M * 100 Then Application.StatusBar = "正在运行中…… 进度 " & Int(m1 / M * 100) & "%"
- Next
- Application.StatusBar = False
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|