Excel精英培训网

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

如何只提取英文,不包含数字或其它语言文字

[复制链接]
发表于 2017-1-19 12:09 | 显示全部楼层 |阅读模式
期刊附件,一点思路都没。。。
QQ截图20170119120603.jpg

只提取英文.rar

20.98 KB, 下载次数: 22

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-1-19 13:17 | 显示全部楼层
  1. Sub 提取()
  2.     arr = [a1].CurrentRegion
  3.     With CreateObject("vbscript.regexp")
  4.         .Global = True
  5.         .Pattern = "[^a-zA-Z -]"
  6.         arr = [a1].CurrentRegion
  7.         For i = 2 To UBound(arr)
  8.             x = .Replace(arr(i, 2), "")
  9.             arr(i, 2) = IIf(x = arr(i, 2), x, "")
  10.         Next
  11.     End With
  12.     [c1].Resize(UBound(arr)) = Application.Index(arr, , 2)
  13. End Sub
复制代码

只提取英文.rar

25.78 KB, 下载次数: 8

回复

使用道具 举报

发表于 2017-1-19 13:20 | 显示全部楼层
  1. Sub tt()
  2.     Dim i&, ar
  3.     ar = Range("b2:b" & [b2].End(4).Row)
  4.     With CreateObject("vbscript.regexp")
  5.         .Pattern = "[^a-zA-Z ]?"
  6.         .Global = True
  7.         For i = 1 To UBound(ar)
  8.             ar(i, 1) = .Replace(ar(i, 1), "")
  9.         Next
  10.     End With
  11.     [c2].Resize(UBound(ar)) = ar
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2017-1-19 13:25 | 显示全部楼层
题目意思应该是如果某个单元格含非英文字符,整个单元格作废吧。
代码小改一下。
  1. Sub 提取()
  2.     arr = [a1].CurrentRegion
  3.     With CreateObject("vbscript.regexp")
  4.         .Global = True
  5.         .Pattern = "[^a-zA-Z -]"
  6.         arr = [a1].CurrentRegion
  7.         For i = 2 To UBound(arr)
  8.             arr(i, 2) = IIf(Not .test(arr(i, 2)), arr(i, 2), "")
  9.         Next
  10.     End With
  11.     [c1].Resize(UBound(arr)) = Application.Index(arr, , 2)
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2017-1-23 18:08 | 显示全部楼层
grf1973 发表于 2017-1-19 13:25
题目意思应该是如果某个单元格含非英文字符,整个单元格作废吧。
代码小改一下。

repuestos desbrozadora jardin
couteau de chasse lame fixe
初学正则,虚心求教:
貌似"[^A-Za-z -]" 也会把上两句给排除掉吧?字母是对的,但确实不是英语,怎么办呢?
回复

使用道具 举报

发表于 2017-2-1 20:48 | 显示全部楼层
=OR(AND(CODE(B2)>47,CODE(B2)<58),AND(CODE(B2)>96,CODE(B2)<123))
回复

使用道具 举报

发表于 2017-2-4 08:44 | 显示全部楼层
爱疯 发表于 2017-2-1 20:48
=OR(AND(CODE(B2)>47,CODE(B2)96,CODE(B2)

谢谢{:11:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 19:57 , Processed in 0.341396 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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