ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 285|回复: 9

[已解决] 那位老师帮助弄一下

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-23 15:32 | 显示全部楼层 |阅读模式
本帖最后由 吴虾咪 于 2024-5-24 07:46 编辑

11.png


像这样的,里面有个以前是也是老师弄的。大概差不多,就是改了所要的样式。

Desktop.rar

571.52 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2024-5-23 16:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你这个鹅蛋是很难区分的,因为词根中既有蛋,又有鹅,还有鹅蛋。在搜索时,先搜到蛋,所以,先标记为蛋。

附件供参考。。。

Desktop.7z

128.95 KB, 下载次数: 7

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-23 16:35 | 显示全部楼层
参与一下。。。

  1. Sub ykcbf() '//2024.5.23
  2.     Set d = CreateObject("Scripting.Dictionary")
  3.     With Sheets("词根")
  4.         arr = .UsedRange
  5.         For i = 2 To UBound(arr)
  6.             For j = 1 To UBound(arr, 2)
  7.                 S = arr(i, j)
  8.                 If S <> Empty Then
  9.                     d(S) = ""
  10.                 End If
  11.             Next
  12.         Next
  13.     End With
  14.     With Sheets("数据")
  15.         arr = .UsedRange
  16.         .UsedRange.Offset(1).Interior.ColorIndex = 0
  17.         .[d2:d1000] = ""
  18.         For i = 2 To UBound(arr)
  19.             For Each k In d.keys
  20.                 t = InStr(arr(i, 3), k)
  21.                 If t Then
  22.                     .Cells(i, 4) = k
  23.                     With .Cells(i, 3).Characters(t, Len(k)).Font
  24.                         .ColorIndex = 3
  25.                     End With
  26.                     Exit For
  27.                 End If
  28.             Next
  29.         Next
  30.     End With
  31. End Sub

复制代码


评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 16:48 | 显示全部楼层
本帖最后由 吴虾咪 于 2024-5-23 17:21 编辑

1、老师哪碰到,+ = - # 就停止运行,这样的保以屏蔽不。忽略过不。

2、还有 比如蛋词根我就把词根表里面的蛋更换别的。执行后数据还是提取蛋.试好了好几次都是一样。我这词根有2000多个,是不是出问题了。

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
JSA代码,供参考
  1. function 匹配(){
  2.         let arr=Sheets.Item("词根").Range("a1").CurrentRegion.Value2;
  3.         let findarr=arr.slice(1).reduce((findarr,x)=>{
  4.                 x.forEach(y=>y!=null?findarr.push(y):null);
  5.                 return findarr;
  6.         },[]);
  7.         let temp=Range("c1:c" + Range("c"+ Rows.Count).End(xlUp).Row).Value2;
  8.         let res=temp.reduce((res,[x],i)=>{
  9.                 if (i<1) return res;
  10.                 res[i]=[], start=x.length, len=x.length;
  11.                 findarr.forEach((y,j)=>{
  12.                         if (!x.includes(y)) return;
  13.                         let n=x.indexOf(y) + 1;
  14.                         if (n<=start && y.length<=len){
  15.                                 res[i]=[y];
  16.                                 [start, len]=[n, y.length];
  17.                                 Cells.Item(i+1,3).Font.Color=0;
  18.                                 Cells.Item(i+1,3).Characters(start,len).Font.Color=255;
  19.                         }
  20.                 });
  21.                 return res;
  22.         },[["提取所包含的词根"]]);
  23.         Range("d1").Resize(res.length,1).Value2=res;
  24. }
复制代码

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:36 | 显示全部楼层
附件在此,WPS打开测试

帮助修改这样的类型.zip

891.3 KB, 下载次数: 3

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Option Explicit
Sub TEST1()
    Dim ar(), i&, j&, strJoin$, t#
   
    Application.ScreenUpdating = True
    t = Timer
    ar = Sheets(1).[A1].CurrentRegion.Value
   
    With CreateObject("VBScript.RegExp")
        .Global = True
        For j = 1 To UBound(ar, 2)
            For i = 2 To UBound(ar, 2)
                If Len(ar(i, j)) Then strJoin = strJoin & "|" & ar(i, j)
            Next i
        Next j
        .Pattern = Mid(strJoin, 2)
        ar = Range("C2", Cells(Rows.Count, "C").End(xlUp)).Value
        For i = 1 To UBound(ar)
            If .test(ar(i, 1)) Then
                ar(i, 1) = .Execute(ar(i, 1))(0).Value
            Else
                ar(i, 1) = Empty
            End If
        Next i
    End With

    [D2].Resize(UBound(ar)) = ar
    Application.ScreenUpdating = True
    MsgBox "执行完毕!_用时:  " & Format(Timer - t, "0.00") & "  秒", 64
End Sub

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-5-25 21:50 | 显示全部楼层
供参考。

吴虾咪_帮助修改这样的类型.rar

464.74 KB, 下载次数: 5

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-16 13:28 , Processed in 0.046960 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表