ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求组,用VBA拆分字母和字母后的数字

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-5-15 09:47 | 显示全部楼层 |阅读模式
各位高手,请教一下,如何用VBA拆分字母及数字,谢谢!附件地址 vba拆分字母.zip (6.43 KB, 下载次数: 10)



该贴已经同步到 cushion1的微博

TA的精华主题

TA的得分主题

发表于 2013-5-15 10:05 | 显示全部楼层
用公式做的

vba拆分字母1.zip

6.82 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2013-5-15 10:15 | 显示全部楼层
Sub cut()
For i = 2 To Range("a65536").End(xlUp).Row
aaa = Cells(i, 1).Value
   For y = 1 To Len(aaa)
       If Mid(aaa, y, 1) > 9 And Mid(aaa, y, 1) <> "*" Then
          z = y
       End If
   Next
   Cells(i, 2) = Left(aaa, z)
   Cells(i, 3) = Right(aaa, Len(aaa) - z)
Next
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-15 11:13 | 显示全部楼层
不好意思,前面出了点问题,严谨点的话应该将:
If Mid(aaa, y, 1) > 9 And Mid(aaa, y, 1) <> "*" Then替换成If Mid(aaa, y, 1) > “@” Then。
因为在VBA 128字符集中,“A”在65位,它的前一位是“@”,而“a”则在97位。

TA的精华主题

TA的得分主题

发表于 2013-5-15 15:24 | 显示全部楼层
  1. Sub tt()
  2. For i = 2 To 4
  3.     mstr = Cells(i, 1)
  4.     str1 = "": str2 = mstr
  5.     For k = 1 To Len(mstr)
  6.         c = Mid(mstr, k, 1)
  7.         If c Like "[A-Z]" Then
  8.             str1 = str1 & c
  9.             str2 = Replace(str2, c, "")
  10.         End If
  11.     Next
  12.     Cells(i, 3) = str1
  13.     Cells(i, 4) = str2
  14. Next
  15. End Sub
复制代码

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-27 06:45 , Processed in 0.030967 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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