电子表格excel表格怎么统计每行的批注个数
1.excel表格怎么统计每行的批注个数
可以用vba.
按住alt依次按f11,i,m
粘贴下面的代码后,在单元格中输入公式
=tt(a1:a10,"加班")
即可得到a1:a10区域的批注中包含"加班"的单元格个数.
Function tt(x As Range, y As String) As Integer
On Error Resume Next
For Each c In x.Cells
t = c.Comment.Text
If InStr(t, y) > 0 Then tt = tt + 1
t = ""
Next
End Function
2.excel批注代码,如何将数据明细表格内的数据按汇总表的要求自动添加
Sub InsertCommentByDetail()
'打开Excel文件,按Alt+F11打开VBA编辑器,“插入”->;“模块”,然后把这些代码贴到空白的窗口里
'保持光标停留在这些代码中间,按F5运行
Dim MyComment As String '批注内容
Dim DetailSheet As Worksheet '明细表
Dim TotalSheet As Worksheet '汇总表
Dim Operator As String, OperatDate As String '操作人、操作日期
Dim RT As Long, RD As Long, CT As Long '汇总表行号、列号,明细表行号
Set TotalSheet = Sheets("汇总表") '汇总表的名字改成你的
Set DetailSheet = Sheets("明细表") '明细表的名字改成你的
For RT = 2 To TotalSheet.UsedRange.Rows.Count
Operator = TotalSheet.Cells(RT, 1).Text '获取 汇总表 的 操作人
For CT = 3 To 31 '按每月31天循环
OperatDate = TotalSheet.Cells(1, CT).Text '获取 汇总表 的 操作日期
If CDate(OperatDate) = 0 Then GoTo NextOperator '如果 操作日期 不是有效的,直接看 汇总表 的 下一行
If TotalSheet.Cells(CT, CT).Text = "" Then GoTo NextDay '如果 操作日期 没有数据,看 汇总表 的 下一天
MyComment = "" '批注清空
For RD = 2 To DetailSheet.UsedRange.Rows.Count '循环查找 明细表 的每一行
'如果 操作日期 和 操作人 和汇总表的一致,加入到批注里
If DetailSheet.Cells(RD, 20).Text = Operator And DetailSheet.Cells(RD, 19).Text = OperatDate Then
MyComment = MyComment & DetailSheet.Cells(RD, 1).Text & vbTab '批注加上 指令单号
MyComment = MyComment & DetailSheet.Cells(RD, 8).Text & vbTab '批注加上 成品规格
MyComment = MyComment & DetailSheet.Cells(RD, 3).Text & vbCr '批注加上 原料重量
End If
TotalSheet.Cells(RT, CT).AddComment Left(MyComment, Len(MyComment) - 1) '插入批注
Next
NextDay:
Next
NextOperator:
Next
End Sub
3.excel中如何统计出出每行的批注个数,求公式
1、如果ABC列为包含批注的数据区域,以FGH列为辅助列,选择F2单元格,按Ctrl+F3,“自定义名称”编辑框中“新建”,名称:批注 引用位置输入=GET.CELL(46,!A2) 确定;通过宏表函数GET.CELL(46,!A2)判断A2单元格是否存在批注。
2、在F2单元格输入=批注 然后向右向下填充公式,如果A2单元格有批注,就返回"TRUE“,如果没有,就返回“FALSE”。
3、在D2单元格输入以下公式,然后向下填充公式
=COUNTIF(F2:H2,TRUE)
统计出A:C列对应行的批注个数
4、根据需要,可选择F:H列,单击鼠标右键,“隐藏”。
4.EXCEL如何统计批注中的指定内容?
写了一段VBA代码,你可以alt+F11打开VBA编辑器,插入-模块,把下面的代码复制到里面,然后在EXCEL表格L1 中输入公式=sumnotes(A1:J13,"K"),其中K表示关键字:Public Function SumNotes(rr As Range, strKey As String) As SingleDim c As RangeDim str1 As String, str2 As StringDim str() As StringFor Each c In rr If Not c.Comment Is Nothing Then str = Split(c.Comment.Text, " ") If UBound(str) >= 1 Then str1 = str(0) str2 = str(1) If str1 = strKey Then SumNotes = SumNotes + Val(str2) End If End If End IfNextEnd Function。
5.excel表格怎么统计每行的批注个数
可以用vba.按住alt依次按f11,i,m粘贴下面的代码后,在单元格中输入公式=tt(a1:a10,"加班")即可得到a1:a10区域的批注中包含"加班"的单元格个数.Function tt(x As Range, y As String) As Integer On Error Resume Next For Each c In x.Cells t = c.Comment.Text If InStr(t, y) > 0 Then tt = tt + 1 t = "" NextEnd Function。