excel - 使用 CountIf 循环文本然后移动到下一列
问题描述
我有一个工作表(每日),其中包含列中的数据和标题。数据是基于一个月中的天数的动态数据,并且已被有条件地格式化为图标(不完整 = T,完整 = R)。我正在尝试在另一个工作表(WS2)上创建一个图表,以显示每个项目(标题)的完成和不完整百分比。
我在第三张工作表(WS3)上有一个表格来计算每列中的所有非空单元格,countif“T”和countif“R”。(例如,=COUNTIF(Daily!D5:D29,"R"))。WS1 上的图表从 WS3 中为每个项目选择数据。有时我必须在每日页面上添加或删除一列。我正在尝试使用 CountIF 和 CountA 编写一个子程序来遍历 Daily 的每一列,并在 WS2 上显示结果。
Sub LoopforCt()
Dim ws As Worksheet
Dim Daily As Worksheet
Dim Test As Worksheet
Dim AllData As Variant
Dim pcv As Range
Set Daily = Sheets("Daily")
Set Test = Sheets("Test")
Set AllData = Daily.Range("B5:B100")
Set pcv = Test.Range("A22")
With AllData
pcv = "=COUNTIF(Daily!C5:C29,""R"")"
End With
End Sub
我已经能够让 countif 为第一列工作,但我不知道如何把它放在一个循环中。我想继续 CountIf 以获取 Test.Range("B22") 等中的下一列结果。
谢谢!
解决方案
你不需要循环。您可以将公式写入Range
一行。您正在使用相对引用,因此随着您的进步,C5:C29
将变为。D5:D29
E5:E29
Test.Range("A22:X22").Formula = "=COUNTIF(Daily!C5:C29,""R"")" ' replace X with whatever column you need.
或者,如果您更愿意保留pcv
,
Set pcv = Test.Range("A22:X22")
pcv.Formula = "=COUNTIF(Daily!C5:C29,""R"")"
推荐阅读
- d3.js - 如何使用 NVD3.JS 或 D3.JS 库在 OpenERP V7 中构建 Dashboard?
- c# - 如果其他一些节点不包含特定的子节点,则删除多个 XML 节点
- r - 加密 R 文件但仍然可以运行它
- javascript - BugSnag ErrorBoundary 未在反应中显示自定义错误页面
- angular-material - 材质对话框管理多个对话框 z-index
- javascript - 如何以角度形式添加可选的 ngModelGroup?
- python - Flask / SqlAlchemy / Graphene - 如何从数据库中查询对象并更改值?
- java - Spring mvc不加载css和图像
- python-3.x - 使用 Octave 与 Python 计算极对时的不同结果
- windows - 使用批处理脚本查找替换变量文本的整个字符串行