| |
PS视频教程 | 音画视频教程 | FL视频教程 | ps特训教程 | PS滤镜下载 | PS动作下载 | PS画笔下载 | PS样式下载 | 经典字库下载 | JS代码大全 | SEO教程 | 设计软件下载
|
您现在的位置:白小姐中特网 - 管家婆中特网 - ps教程|音画教程|flash教程|设计软件下载 - 10万教程宝库 >> 办公教程 >> Excel教程 >> 浏览文章
Excel单元格数据特殊处理实例
作者:芊蓝小编 日期:2010年08月18日 来源:互联网  【字体: 】   我要评论(0)
核心提示:
欢迎光临芊蓝网大(www.qgzzz.com)有朋友要求Excel工作表的A1单元格和B1单元格中有两个数字,这两个数字有一部分相同,现在要找出其中相同的数字并写入单元格C1,找出A1中有而B1中没有的数字并写入单元格D1,找出B1中有而A1中没有的数字并写入单元格E1。     如下面的工作表图片:      我不知道给出的数字是否都是按这样的规律,即第一个原始数据的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码来实现:     Sub Sepa
欢迎光临芊蓝网大(www.qgzzz.com)有朋友要求Excel工作表的A1单元格和B1单元格中有两个数字,这两个数字有一部分相同,现在要找出其中相同的数字并写入单元格C1,找出A1中有而B1中没有的数字并写入单元格D1,找出B1中有而A1中没有的数字并写入单元格E1。  

  如下面的工作表图片:

  
Excel单元格数据特殊处理实例,Excel教程,芊蓝教程网 www.qgzzz.com

  我不知道给出的数字是否都是按这样的规律,即第一个原始数据的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码来实现:  

  Sub SeparateNumber()

   Dim strFirst As String

   Dim strResult As String

   Dim StartNum As Integer

   Dim EndNum As String

   Dim i As Integer, j As Integer

   strFirst = Left(Range(”B1″), 1)

   StartNum = InStr(1, Range(”A1″), strFirst)

   j = 1

   For i = StartNum To Len(Range(”A1″))

   EndNum = Mid(Range(”A1″), i, 1)

   If EndNum = Left(Range(”B1″), j) Then

   j = j + 1

   End If

   Next i

   If j > 1 Then

   strResult = Mid(Range(”A1″), StartNum, i - 1)

   End If

   ‘单元格C1中的数据

   Range(”C1″).Value = strResult

   ‘单元格D1中的数据

   Range(”D1″).Value = Left(Range(”A1″), StartNum - 1)

   ‘单元格E1中的数据

   Range(”E1″).Value = Right(Range(”B1″), Len(Range(”B1″)) - j)

  End Sub  

  代码很简单,只是运用了几个VBA函数。  

  讨论:   

  其实代码可以进一步简化,因为VBA还有一个数组函数(Split函数)。 如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。 两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。
欢迎光临芊蓝网大(www.qgzzz.com)



相关文章列表
网友评论
芊蓝广告位招商中......
芊蓝广告位招商中......
图文资讯
关于我们 - 网站帮助 - 广告合作 - 下载声明 - 友谊连接 - 网站地图 - 管理登陆