Excel表格中如何使用vba宏按条件拆分两个单元格中的数字
Excel工作表的A1单元格和B1单元格中有两个数字,这两个数字有一部分相同,现在要找出其中相同的数字并写入单元格C1,找出A1中有而B1中没有的数字并写入单元格D1,找出B1中有而A1中没有的数字并写入单元格E1。
如下面的工作表图片:
我不知道给出的数字是否都是按这样的规律,即第一个原始数据的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码来实现:
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函数)。
如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。
两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。
小米12mini支持无线充电吗支持多少W无线充电小米12mini是一款小屏旗舰,不仅方便用户携带,而且在性能方面也是非常出色,对于喜欢小屏手机的用户来说是非常值得入手的。小米12mini在续航方面配置也是十分均衡,那么它是否支持
苹果12mini多大尺寸苹果12mini虽然已经是2020年度的旗舰手机,但是对于苹果的系统和硬件来说,一两年根本就没什么问题,也是目前顶尖的旗舰手机体验,其中苹果12mini就是很多小屏旗舰爱好者的选择
iphone12promax绿屏什么时候修复iphone12promax绿屏修复时间iphone12promax绿屏什么时候修复?苹果iphone12系列绿屏门已经受到了很多果粉的声讨,希望能尽快修复这一问题,下面就给大家带来解答介绍,快来看看吧!iphone12
iPhone12续航怎么样iPhone12续航表现本周三发布会中,苹果一口气推出了4款iPhone12机型。4款机型有3种尺寸,其中入门款iPhone12mini是5。4英寸,iPhone12和iPhone12Pro都是6。1英寸
2021年即将上市的苹果手机有哪些即将上市iphone新款推荐在智能手机横行的现在,iPhone系列还是一直受到了小伙伴们的热烈追捧哦,那么在今年到底是将会有几部苹果手机上市呢?他们到底是又是有什么样子的表现呢?现在就有小编来为大家介绍一下吧
小米12mini有光学防抖吗支持多少倍变焦现在很多小伙伴都喜欢自拍以及录制vlog,那么一款拥有强悍影像系统的手机是必须的。小米12mini是一款非常不错的5G手机,为用户带来非常不错的拍照像素,而且体积小巧,使用起来非常
小米12mini电池容量多少充电速度多少小米12mini这是小米最新推出的一款搭载骁龙870的处理器,可以为用户提供很好的手机外形设计,同时为用户提供很好的手机性能体验,那么这款手机的电池容量多少?支持多少瓦的充电速度?
HTCS610d能拍摄720p视频吗HTCS610d支持480p(640480)视频录制。但是不支持720p视频录制。HTCS610d采用的是一块3。8英寸大的电容屏,WVGA级别的分辨率480800像素,使用Sup
HTCS610d用MICROSIM卡吗HTCS610d不用MICROSIM卡,支持GSM,CDMA,WCDMA(联通3G),CDMAEVDO(电信3G),双模。HTCS610d采用的是一块3。8英寸大的电容屏,WVGA
HTCS610d能升级安卓4。0吗HTCS610d暂时不能升级安卓4。0。HTCS610d采用的是一块3。8英寸大的电容屏,WVGA级别的分辨率480800像素,使用SuperLCD的屏幕材质,让使用显示效果更加出
三星I9220能玩攻城大战吗攻城大战经过亲测,支持三星I9220并且官方免费,在GooglePlay可以下载。攻城大战是一款画面非常出色的塔防类策略游戏,起初专为Tegra芯片打造。双人同屏对战模式很有趣!攻