我爱免费 发表于 2023-11-16 18:45

AI写代码,多少"老师"要失业

作者:XData Analysis VBA
    之前朋友赠送的大佬的插件,我一直也很少用,最常用的就是代码排版,今天试了下AI功能,不得不说,做的很好,就是运行有点久差不多20秒,但是不影响,估计有自己的服务器,反正能用才是硬道理。



'如何对区域内的数据进行高级筛选 , 例如实现B列高级筛选, 得到包含多个关键词的筛选结果Sub AdvancedFilter()    Dim ws As Worksheet    Dim rngData As Range    Dim rngCriteria As Range    Dim rngResult As Range    Dim criteriaArray() As Variant    Dim i As Long    ' 设置工作表对象Set ws = ThisWorkbook.Worksheets("Sheet1")' 设置数据范围(B 列)    Set rngData = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)    ' 设置筛选条件范围(C 列至 F 列)Set rngCriteria = ws.Range("C2:F2")' 将多个关键词存储在数组中    criteriaArray = Array("关键词1", "关键词2", "关键词3") ' 可根据需要修改关键词' 清除之前的筛选结果    ws.AutoFilterMode = False    ' 将筛选条件写入临时区域For i = LBound(criteriaArray) To UBound(criteriaArray)      rngCriteria.Offset(1, i).Value = criteriaArray(i)Next i' 设置结果范围(G 列)    Set rngResult = ws.Range("G1").CurrentRegion    ' 执行高级筛选    rngData.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rngCriteria, Unique:=False' 将筛选结果复制到结果范围    rngData.SpecialCells(xlCellTypeVisible).Copy rngResult    ' 清除筛选    ws.AutoFilterMode = False' 清除临时区域的筛选条件    rngCriteria.ClearContentsEnd Sub

来看看咱们自带的免费版的效果:





Sub AdvancedFilterExample()    Dim ws As Worksheet    Dim rngData As Range    Dim rngCriteria As Range    Dim rngResult As Range' 设置工作表    Set ws = ThisWorkbook.Sheets("Sheet1")' 将"Sheet1"替换为实际的工作表名称' 设置数据区域范围(假设数据从B2开始)    Set rngData = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)    ' 创建筛选条件区域,放置关键词(假设关键词在D1:D3)    Set rngCriteria = ws.Range("D1:D3")' 创建筛选结果的区域(假设结果从F2开始)    Set rngResult = ws.Range("F2").Resize(, 1)    ' 执行高级筛选    rngData.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rngCriteria, CopyToRange:=rngResult, Unique:=False' 清除筛选条件    rngData.AutoFilter    ' 清除筛选结果区域的内容    rngResult.ClearContentsEnd Sub

2段代码都带一点点小问题【估计是我语文水平太差,描述不清楚】,留给的读者修改下吧。

最终效果:

页: [1]
查看完整版本: AI写代码,多少"老师"要失业