excel批注代码,如何将数据明细表格内的数据按汇总表的要求自动添加批注!求VBA代码!

我的表格里面,有明细表和汇总表,但是汇总表里面需要将所汇总的明细资料按要求添加批注!如下图所示:

这个是汇总表

这个是明细表

这个是我需要的批注内容,批注 的内容在明细表里面都有,我只想把某人某天在某个机组加的工明细添加到批注里面,求大侠指教!

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

追答

在外面办事,回来聊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-21
不建议这么做。
如果非要这么处理的话,VBA吧。追问

请问要怎么做呢?能教我吗?

相似回答