ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 当出现第一个中文字符时,后面的内容全部剪切到另一列

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-19 09:35 | 显示全部楼层 |阅读模式
一直没找到,如何判断中文字符、英文字符、数字、其它字符的表达式,请高人指点。



Sub 前面()
Dim gezi As Range
Dim i As Integer
Dim k As Integer
Dim shuzu(1 To 2, 1 To 10000) As String
Dim neirong2 As String
With Worksheets(1)
For i = 1 To 10000
     For k = 1 To Len(.Range("a1").Offset(i, 0))
       If ask(Mid(.Range("a1").Offset(i, 0), k, 1)) > 0 Then  ’此处判断当遇到中文字符时,但不凑效
           GoTo 100
     Next k
100:
     shuzu(1, i) = Mid(.Range("a1").Offset(i, 0), 1, k - 1)

     shuzu(2, i) = Mid(.Range("a1").Offset(i, 0), k, Len(.Range("a1").Offset(i, 0)))
Next i
End With




With Worksheets(1)
For i = 1 To 10000
  .Range("a1").Offset(i, 0) = shuzu(1, i)
  .Range("a1").Offset(i, 1) = shuzu(2, i)
Next i
End With




End Sub

微信图片_20180619092905.png

英语单词词缀 - 副本.rar

444.61 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2018-6-19 10:22 | 显示全部楼层
英语单词词缀 - 副本.rar

英语单词词缀 - 副本.rar

516.46 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2018-6-19 11:45 | 显示全部楼层
  1. Sub zz()
  2. Dim s$
  3. With CreateObject("vbscript.regexp")
  4.     .Pattern = "[\u4e00-\u9fa5]{1}.+"
  5.     ar = Range("a1:b" & [a1048576].End(3).Row).Value
  6.     For i = 1 To UBound(ar)
  7.         If Len(ar(i, 1)) Then
  8.             s = ar(i, 1)
  9.             ar(i, 1) = .Replace(s, "")
  10.             If .test(s) Then ar(i, 2) = .Execute(s)(0)
  11.         End If
  12.     Next
  13.     [b1].Resize(i - 1, 2) = ar
  14. End With
  15. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-19 16:11 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-19 16:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

太感谢了,您的代码效率很高,适应性强。
但这种思路我太看明白,求教,是否可以详细注解一下,我好好学习学习,十分感谢。
比如createobject("vbscript.regexp")是什么意思?
.pattern="[\u4e00-\u9fa5]{1}.+"  这个一点概念没有
ar(i,2)=.execute(s)(0)

TA的精华主题

TA的得分主题

发表于 2018-6-19 16:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-6-19 16:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
中文:[一-龢]
英文:[A-Za-z]
数字:\d
其他字符:\s

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-19 17:12 | 显示全部楼层
chentonny 发表于 2018-6-19 16:49
中文:[一-龢]
英文:[A-Za-z]
数字:\d

很感谢,是否可以再解释一下这个与ASC码的关系
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-26 03:01 , Processed in 0.037210 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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