excel - 当 Excel VBA 中任一单元格值文本为“未执行”时,将文本插入 Excel 单元格
问题描述
当所有范围都通过时,以下代码可以正常工作。但我想要任何一个范围示例:G5 is "Not Executed"
然后我想插入为SQL Error
。
Sub Test()
If Worksheets("Before Conversion German Count").Range("G4:G80").Text = "PASS" Then
Worksheets("INDEX").Range("F30") = "Completed"
Worksheets("INDEX").Range("F30").Interior.ColorIndex = 43
ElseIf Worksheets("Before Conversion German Count").Range("G4:G80").Text = "Not Executed" Then
Worksheets("INDEX").Range("F30") = "SQL Error"
Worksheets("INDEX").Range("F30").Interior.ColorIndex = 44
Else: Worksheets("INDEX").Range("F30") = "Validation failed"
Worksheets("INDEX").Range("F30").Interior.ColorIndex = 3
End If
End Sub
谁能帮我?
解决方案
正如我在评论中建议的那样,让我们使用 COUNTIF
Sub Result()
Const PASS = "PASS"
Const NOT_EXECUTED = "Not Executed"
Dim rg As Range
Set rg = Worksheets("Before Conversion German Count").Range("G4:G80")
With Worksheets("INDEX").Range("F30")
If WorksheetFunction.CountIf(rg, PASS) = rg.Rows.Count Then
.Value = "Completed"
.Interior.ColorIndex = 43
ElseIf WorksheetFunction.CountIf(rg, NOT_EXECUTED) = rg.Rows.Count Then
.Value = "SQL Error"
.Interior.ColorIndex = 44
Else
.Value = "Validation failed"
.Interior.ColorIndex = 3
End If
End With
End Sub
推荐阅读
- firebase - 尝试从 firebase 获取单个文档时断言失败
- visual-studio-code - VS Code 使用 docker-compose 在 Docker 中运行和调试 Python
- java - 请告诉我为什么我的输出变为零
- templates - 谷歌脚本将谷歌表单数据保存到谷歌文档
- python - 如何从 BeautifulSoup 中的网络抓取文本列表中仅获取第一个数据
- python-3.x - 如何获取在 2 个月的时间段内出现在数据框中的 id 行(按 id)?
- jetty - Jetty:处理程序中的输入流始终为空。如何从客户端获取输入流
- sapui5 - 如何告诉 UI5 在哪里可以找到我的自定义模块?
- bash - Colab 中的语法错误,使用感叹号 (!)
- python - 通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和