作者ilf0121 (思想的崛起)
看板Office
标题[算表]请问EXCEL使用VBA撷取字串中文字并加其他
时间Mon Jul 15 18:20:17 2024
软体:EXCEL
各位大神 想请教VBA的问题,目前都是用公式写的
但是发现公式占据太多导致表格运作很慢
想改为用VBA来撷取需要的资料
以下是需要撷取的内容,恳请大神们协助,必有後谢!!!
最下面有目前解决进度!!!
从R栏读取资料,把需要的资料显示在P栏,若S栏内有资料,需整合资料再P栏
以下为R栏的资料
订单编号
240715NDHQXXX
买家收件地址
江小明,
239宜兰县鸽子区老鹰路1号
运送资讯
包裹1: 卖家宅配
共 1 个商品
j******1
进帐资讯
编号
商品
单价
数量
小计
1
商品名称一大堆
规格: 商品名称APPP
商品选项货号: APPP
868
1
868
隐藏入帐明细
订单金额
NT$868
商品价格
NT$868
预估卖家运费总支付
NT$120
买家支付运费
NT$120
预估虾皮代付运费
NT$0
手续费
-NT$78
成交手续费
-NT$48
活动与物流隐码服务费
-NT$10
金流与系统处理费
-NT$20
预估订单进帐
NT$910
以下为S栏的资料
12345678
如R栏没资料 P栏可以直接自行填写资料
如R栏有资料S栏没资料时 P栏显示:直接配送
如R栏有资料S栏有资料时
P栏需整合为
江小明, 239宜兰县鸽子区老鹰路1号 电话:0928000888转12345678 #1 皮皮
R栏内撷取的资料 ----------------- S栏资料 ---------
有----的是自行额外增加的字码
K栏显示 "预估订单进帐 NT$910 "的数值 "910" 单数字就好
C栏显示 "规格: 商品名称APPP" 内的文字 "商品名称APPP"
谢谢大神们的协助!!!
目前只有办法写到
If Target.Column = 18 Then
'只有R栏有变动时执行
Dim P As String
P = Target.Value
ActiveSheet.Cells(Target.Row, 16) = P
'把P设定变数,R栏的值=P,然後把变动的行数的P栏填上P值
End If
卡在字串分解
目前字串分解用很笨的方式
Str = Split(Target.Value, "运送资讯")
P = Str(0)
Str = Split(P, "买家收件地址")
ActiveSheet.Cells(Target.Row, 16) = Str(1)
'收件人部分 设Str()为阵列,Target.Value=R栏变动的值,Str=字串阵列,Split(字串
,分割点)
用Split去头去尾取中间,请问大大有更方便的方法吗?
找到用Chr(10)代表换行符号 来计算要撷取第几行了
有进度都会更新,请求大神们指导,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.169.136.43 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1721038819.A.B7A.html
※ 编辑: ilf0121 (118.169.136.43 台湾), 07/15/2024 21:43:10
※ 编辑: ilf0121 (118.169.136.43 台湾), 07/15/2024 22:44:29
※ 编辑: ilf0121 (118.169.136.43 台湾), 07/15/2024 23:17:45
※ 编辑: ilf0121 (118.169.136.43 台湾), 07/15/2024 23:42:28
1F:→ goujly: 去头尾用replace把关键文字都替换成同一个後再拆? 07/17 09:18