Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2132|回复: 4

[已解决]根据输入的关键词字数在A列找相同的内容

[复制链接]
发表于 2015-8-14 13:13 | 显示全部楼层 |阅读模式
根据输入的关键词字数在A列找含相同的内容,输入5就找含有5个完全相同的内容(这里如输入6就找不到相同内容了,B列为空),以此类推。对符合条件的内容变色,并依次统计在B列中。能否实现?

14.jpg

根据输入的关键词字数在A列找相同的内容.rar (10.58 KB, 下载次数: 8)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-8-14 13:56 | 显示全部楼层
我不懂VBA,不過我想,就算是VBA也不容易去實現.
回复

使用道具 举报

 楼主| 发表于 2015-8-14 13:58 | 显示全部楼层
心正意诚身修 发表于 2015-8-14 13:56
我不懂VBA,不過我想,就算是VBA也不容易去實現.

这个我也觉得有难度,可是,不能因此否定武功盖世的大侠们啊
回复

使用道具 举报

发表于 2015-8-14 15:26 | 显示全部楼层
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Address = "$C$2" Then
  3. Dim i As Integer, j As Integer, m As Integer, d, arr, KWL, temp, CM, arro(1 To 1000)
  4. Set d = CreateObject("Scripting.Dictionary")
  5. Columns("A:A").Font.ColorIndex = xlAutomatic
  6. KWL = Range("C2")
  7. arr = Range("A1:A" & Range("A65536").End(xlUp).Row)
  8. For i = 1 To UBound(arr)
  9.     For j = 1 To Len(arr(i, 1)) - KWL + 1
  10.         temp = Mid(arr(i, 1), j, KWL)
  11.         If d.Exists(temp) Then
  12.             d(temp) = d(temp) & ",A" & i
  13.         Else
  14.             d.Add temp, "A" & i
  15.         End If
  16.     Next j
  17. Next i
  18. For Each CM In d.keys
  19.     If UBound(Split(d(CM), ",")) > 0 Then
  20.         m = m + 1
  21.         arro(m) = CM & d(CM)
  22.         Range(d(CM)).Font.Color = -16776961
  23.     End If
  24. Next
  25. Range("B1:B1000") = Application.Transpose(arro)
  26. End If
  27. End Sub
复制代码
回复

使用道具 举报

发表于 2015-8-14 15:28 | 显示全部楼层    本楼为最佳答案   
根据输入的关键词字数在A列找相同的内容.zip (15.73 KB, 下载次数: 6)
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 16:19 , Processed in 0.267354 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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