Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: billyzhang0609

[已解决]求关键字前面的数字

[复制链接]
 楼主| 发表于 2015-11-3 15:05 | 显示全部楼层
grf1973 发表于 2015-11-3 13:49

又遇到问题,就是当不含有关键字“次”的单元格在里面的时候,会有一个数字抠出来,好像都是“9”

其实当没有“次”,说明访问不成功,应该用0代替,如何去掉这个梗?

(之前的代码没有关键字,程序是按照什么逻辑取数字的呢?)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2015-11-3 15:35 | 显示全部楼层
billyzhang0609 发表于 2015-11-3 15:05
又遇到问题,就是当不含有关键字“次”的单元格在里面的时候,会有一个数字抠出来,好像都是“9”

其实 ...
  1. Sub tt()
  2.     arr = Range("f1:f" & [f65536].End(3).Row)
  3.     ReDim brr(1 To UBound(arr), 1 To 1)
  4.     For i = 2 To UBound(arr)
  5.         If InStr(arr(i, 1), "次") = 0 Then     '不含“次”
  6.             brr(i, 1) = 0
  7.         Else                                   '含次
  8.             x = Split(arr(i, 1), "次")(0)
  9.             If Len(x) Then
  10.                 For j = 1 To Len(x)
  11.                     If IsNumeric(Mid(x, j, 1)) Then Exit For
  12.                 Next
  13.                 If j <= Len(x) Then brr(i, 1) = Val(Mid(x, j)) Else brr(i, 1) = 0
  14.             End If
  15.         End If
  16.     Next
  17.     [a1].Resize(UBound(arr)) = brr
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-11-3 15:47 | 显示全部楼层
grf1973 发表于 2015-11-3 15:35

谢谢你,真的非常感谢!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 20:28 , Processed in 0.253012 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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