设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3153|回复: 9
打印 上一主题 下一主题

[宏/菜单/工具栏] 如何只复制第一个数字前面的内容

[复制链接]
跳转到指定楼层
1#
发表于 2013-2-4 23:04:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xyh2732 于 2013-2-5 09:24 编辑

请问如何可以在“文本框1”内填写完内容后,把 文本框1 的第一个数字前面的内容复制到 文本框2上。
比如 例子1.文本框1 上输入CEX4654546/CAEI4564564 ,就把第一个数字前的内容复制到 文本框2 上 显示为 “CEX”
例子2.   输入HS(深圳)654654   文本框2 就显示 HS(深圳)
唯一的规律就是只显示第一个数字前面的内容,如果输入时没有数字就直接把内容复制下 文本框2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-2-5 06:32:31 | 只看该作者
做了两个函数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2013-2-5 06:40:42 | 只看该作者
带上附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2013-2-5 09:04:45 | 只看该作者
请将示例保存为较低版本。
5#
 楼主| 发表于 2013-2-5 09:24:12 | 只看该作者
kangking 发表于 2013-2-5 09:04
请将示例保存为较低版本。

非常感谢你的帮忙,更新附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2013-2-5 14:43:26 | 只看该作者


写了下.希望你是要这样子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2013-2-5 14:55:24 | 只看该作者
Agent 发表于 2013-2-5 14:43
写了下.希望你是要这样子

非常感谢你的帮忙!有个问题比如我输入CEX111111/CAEI2222222 文本框2会显示CEX/CAEI,数字是取消了但是我想要的是第一个数字前面的内容“CEX” ,后面的全部不要,有没有办法实现啊?
8#
发表于 2013-2-5 14:58:09 | 只看该作者
本帖最后由 Agent 于 2013-2-5 15:04 编辑
xyh2732 发表于 2013-2-5 14:55
非常感谢你的帮忙!有个问题比如我输入CEX111111/CAEI2222222 文本框2会显示CEX/CAEI,数字是取消了但是我 ...


在代码遍历字符串的时候,加多个判断字符是否是"/",是的话就执行提取,不是就退出if

改成这样吧 If Not Mid(strM, I, 1) Like "[0-9]" Or Mid(strM, I, 1) = "/" Then
9#
发表于 2013-2-5 15:29:20 | 只看该作者
Agent 发表于 2013-2-5 14:58
在代码遍历字符串的时候,加多个判断字符是否是"/",是的话就执行提取,不是就退出if

改成这样吧 If No ...

不必那么麻烦的。把你的代码稍稍改动一下就好了。反正楼主只需要判断出第一个数值的位置,然后Left即可。

  1. Private Sub Text0_LostFocus()
  2.   Dim strM As String     '初始字符串
  3.   Dim strOut As String   '输出字符串变量
  4.   Dim i
  5.   If Me.Text0.Value <> "" Then
  6.   strM = Me.Text0
  7.   End If
  8. '从第一个字符向最后一个字符循环,以提取每个字符
  9.   For i = 1 To Len(strM)
  10.       '判断是否为0到9字符,是则赋值输出
  11.       If Mid(strM, i, 1) Like "[0-9]" Then
  12.          strOut = Left(strM, i - 1)
  13.          Exit For
  14.       End If
  15.   Next i
  16.   Me.Text2 = strOut
  17. End Sub
复制代码
10#
 楼主| 发表于 2013-2-5 16:15:59 | 只看该作者
roych 发表于 2013-2-5 15:29
不必那么麻烦的。把你的代码稍稍改动一下就好了。反正楼主只需要判断出第一个数值的位置,然后Left即可。

正是想要的,非常感谢你的帮忙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 12:26 , Processed in 0.094686 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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