EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作

EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作

需求

1.一个excel中有多张不同的sheet

2.筛选出sheet1中A、B列与sheet2中A、B列中非重复行

3.在非重复行对应的D列填充内容

原始表:需要排出专家1wbb在自己没课的时候可以听其他人课的时间,在专家1中做上标记"zj1"(代表此时wbb无课,可以作为专家1去听课)

sheet1:记录一段时间内所有课程安排

sheet2:一段时间内专家1wbb的课程安排

方法

使用宏:

创建一个宏,名字随便自己起,将编写的好的宏复制进去,然后在运行

代码

vbnet 复制代码
Sub find1()
'
' find1 Macro
'
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim lastRow1 As Long, lastRow2 As Long, i As Long, j As Long
    Dim cellValue1A As String, cellValue1B As String
    Dim cellValue2A As String, cellValue2B As String
    Dim combinedValue1 As String, combinedValue2 As String
    Dim isDuplicate As Boolean
    
    ' 设置工作表
    Set ws1 = ThisWorkbook.Sheets("Sheet1")
    Set ws2 = ThisWorkbook.Sheets("Sheet2")
    
    ' 获取两个工作表的最后一行
    lastRow1 = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
    lastRow2 = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row
    
    ' 遍历Sheet1的A和B列
    For i = 1 To lastRow1
        cellValue1A = ws1.Cells(i, 1).Value ' 日期
        cellValue1B = ws1.Cells(i, 2).Value ' 节次
        combinedValue1 = cellValue1A & cellValue1B ' 拼接日期和节次
        
        isDuplicate = False ' 假设当前行不是重复行
        
        ' 遍历Sheet2的A和B列
        For j = 1 To lastRow2
            cellValue2A = ws2.Cells(j, 1).Value ' 日期
            cellValue2B = ws2.Cells(j, 2).Value ' 节次
            combinedValue2 = cellValue2A & cellValue2B ' 拼接日期和节次
            
            ' 如果拼接值相同,则是非重复行
            If combinedValue1 = combinedValue2 Then
                isDuplicate = True
                Exit For
            End If
        Next j
        
        ' 如果不是重复行,则在D列对应行填写"zj1"
        If Not isDuplicate Then
            ws1.Cells(i, 4).Value = "zj1" ' D列是第4列
        End If
    Next i
    
    ' 提示完成
    MsgBox "处理完成!非重复行已在Sheet1的D列标记为'zj1'。"
End Sub

执行宏后的效果

相关推荐
想学习java初学者4 分钟前
SpringBoot整合Fastexcel/EasyExcel导出Excel导出单个图片
excel
LAM LAB6 小时前
【WPS】office邮件合并,怎么将数据源excel中的下一条拼接在文档中的下一个位置
excel·wps
SEO-狼术9 小时前
Document Solutions for Excel, .NET
excel
Access开发易登软件1 天前
Access开发一键删除Excel指定工作表
服务器·前端·后端·excel·vba·access·access开发
Saggitarxm2 天前
Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项
excel·下拉框选项序列·生成excel模板·下拉框选项
pk_xz1234562 天前
SAP全自动化工具开发:Excel自动上传与邮件通知系统
运维·人工智能·windows·深度学习·分类·自动化·excel
mangge082 天前
C#操作WPS表格
java·c#·wps
antzou2 天前
Apache PDFBox深入实践
pdfbox·办公软件·apache·效率工具
俊昭喜喜里3 天前
Excel——设置打印的区域
excel
开开心心就好3 天前
Excel数据合并工具:零门槛快速整理
运维·服务器·前端·智能手机·pdf·bash·excel