ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 统计名字在同一区域内在连续相邻列中出现的次数并标注(已解决,正解在3楼)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-2 09:34 | 显示全部楼层 |阅读模式
本帖最后由 jx928867128 于 2023-3-18 08:54 编辑

image.png 连续相邻列出现次数统计并标注.rar (43.99 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-2 11:35 | 显示全部楼层
请各位路的朋友帮忙看下

TA的精华主题

TA的得分主题

发表于 2023-3-2 13:11 | 显示全部楼层
试试看,如果同一列没有重复的话。

连续相邻列出现次数统计并标注.rar

45.18 KB, 下载次数: 19

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-3-2 17:11 | 显示全部楼层
半百 发表于 2023-3-2 13:11
试试看,如果同一列没有重复的话。

他这个同一列绝对是有重复名字的,所以他的问题没说清楚,如果同一列重复了,那这个字典就不好解决

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-2 18:28 | 显示全部楼层
半百 发表于 2023-3-2 13:11
试试看,如果同一列没有重复的话。

十分感谢老师的出手帮忙,太感谢您了,同一列中不会有重复的

TA的精华主题

TA的得分主题

发表于 2023-3-2 18:31 | 显示全部楼层
  1. Option Explicit

  2. Sub demo()
  3.     Dim area As Range
  4.    
  5.     Set area = Worksheets("样表").Range("b8:j30000")
  6.    
  7.     Dim nameDic As Object, temp, i#, count#, tempRange As Range
  8.    
  9.     Set nameDic = CreateObject("scripting.dictionary")
  10.    
  11.     For Each temp In area.Value
  12.    
  13.         If temp <> "" Then
  14.         
  15.             Set tempRange = area.Find(What:=temp, After:=area.Cells(1), LookIn:=-4176, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=True)
  16.             
  17.             count = 1
  18.             
  19.             For i = tempRange.Column - area.Cells(1).Column + 2 To 9
  20.             
  21.                 Set tempRange = area.Columns(i).Find(What:=temp, After:=area.Columns(i).Cells(1), LookIn:=-4176, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=True)
  22.                
  23.                 If Not tempRange Is Nothing Then
  24.                
  25.                     count = count + 1
  26.                     
  27.                 Else
  28.                     count = 0
  29.                 End If
  30.                
  31.                
  32.                 If count > 2 Then
  33.                
  34.                     nameDic(temp) = ""
  35.                     
  36.                     Exit For
  37.                 End If
  38.             Next
  39.             
  40.         End If
  41.     Next
  42.    
  43.     Dim firstRangeAddress$, nextRange As Range
  44.    
  45.     For Each temp In nameDic.keys

  46.         Set tempRange = area.Find(What:=temp, After:=area.Cells(1), LookIn:=-4176, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=True)

  47.         Set nextRange = area.FindNext(After:=tempRange)
  48.         
  49.         tempRange.Interior.Color = 65535
  50.         
  51.         While nextRange.Address <> tempRange.Address
  52.    
  53.             nextRange.Interior.Color = 65535
  54.             
  55.             Set nextRange = area.FindNext(After:=nextRange)
  56.             
  57.         Wend
  58.         
  59.     Next
  60.    
  61.     Set nameDic = Nothing
  62.    
  63.     Set tempRange = Nothing
  64.    
  65.     Set nextRange = Nothing
  66.    
  67. End Sub
复制代码


连续相邻列出现次数统计并标注.7z

42.71 KB, 下载次数: 7

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-27 20:48 | 显示全部楼层
半百 发表于 2023-3-2 13:11
试试看,如果同一列没有重复的话。

老师好,这是您帮我写的代码,原来的数据区域是从b7单元开始填写,现在数据是从B5单元格开始填写(只要把原附件中的表中删除2行)别的要求不变,方便帮我修改下吗,我自已改了好几次都没改成功

TA的精华主题

TA的得分主题

发表于 2024-4-28 09:43 | 显示全部楼层
jx928867128 发表于 2024-4-27 20:48
老师好,这是您帮我写的代码,原来的数据区域是从b7单元开始填写,现在数据是从B5单元格开始填写(只要把 ...

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-28 12:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jx928867128 于 2024-4-28 12:28 编辑
连续相邻列出现次数统计并标注.rar (46.19 KB, 下载次数: 0) 半百 发表于 2024-4-28 09:43

老师好,再次谢谢您 的回贴,我按你的提示改动后发现5行中填写的数据没有正确标注,麻烦您抽空再帮我看看好吗

TA的精华主题

TA的得分主题

发表于 2024-4-28 12:37 | 显示全部楼层
jx928867128 发表于 2024-4-28 12:22
老师好,再次谢谢您 的回贴,我按你的提示改动后发现5行中填写的数据没有正确标注,麻烦您抽空再帮我看看 ...

这样呢?

image.png

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-5-9 21:41 , Processed in 0.044134 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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