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

执行宏后的效果

相关推荐
XYX的Blog11 小时前
Pandas基础07(Csv/Excel/Mysql数据的存储与读取)
mysql·excel·pandas
东京老树根15 小时前
Excel 技巧23 - 在Excel中用切片器做出查询效果(★★★)
笔记·学习·excel
HealthScience1 天前
WPS怎么使用latex公式?
wps
HealthScience1 天前
WPS mathtype间距太大、显示不全、公式一键改格式/大小
wps
东京老树根2 天前
Excel 技巧22 - Ctrl+D 向下复制(★★),复制同间距图形
笔记·学习·excel
如意机反光镜裸2 天前
如何批量导入竖版Excel表到数据库
数据库·excel
NiNg_1_2342 天前
FastExcel使用详解
开发语言·excel·fastexcel
小奥超人4 天前
EXCEL教程:如何打开Excel隐藏部分?
windows·经验分享·microsoft·excel·办公技巧
Eiceblue4 天前
C# 添加、替换、提取、或删除Excel中的图片
开发语言·c#·excel·visual studio
ynrainy4 天前
Excel分区间统计分析(等步长、不等步长、多维度)
excel