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

执行宏后的效果

相关推荐
Full Stack Developme18 小时前
Java后台生成多个Excel并用Zip打包下载
java·开发语言·excel
芦骁骏1 天前
自动处理考勤表——如何使用Power Query,步步为营,一点点探索自定义函数
数据分析·excel·powerbi
用户8356290780512 天前
使用 C# 将 DataTable 写入 Excel(基于 Spire.XLS for .NET)
excel
迪尔~3 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel
skywalk81633 天前
Ubuntu24.04桌面版安装wps
linux·ubuntu·wps
阿幸软件杂货间4 天前
小黑课堂计算机一级WPSOffice题库安装包1.44_Win中文_计算机一级考试_安装教程
wps
CIb0la4 天前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps
瓶子xf4 天前
使用Excel制作甘特图
excel·甘特图
战族狼魂5 天前
Excel 连接阿里云 RDS MySQL
mysql·阿里云·云计算·excel
cypking5 天前
vue excel转json功能 xlsx
vue.js·json·excel