ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1619|回复: 16

[求助] 数据提取整理

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-8-2 16:32 | 显示全部楼层 |阅读模式
整理前数据:
image.png
整理后数据:
image.png
说明:
image.png

位置说明R816,R861,R897
<0341012315(1/10W 10ohm F 0603)>
<0341012332(1/11W 10ohm F 0603)>
<0341012333(1/12W 10ohm F 0603)>
<0341012334(1/13W 10ohm F 0603)>
<0341012335(1/14W 10ohm F 0603)>
表示0341-012-306有5个替代物料,红色代表第一个替代料,蓝色代表第一替代料的规格,依照<()>来区分一共有几个,对替代物料进行分解显示,并在分解后的替代物料S栏用S表示己分解的替代料

数据批量提取与分解.zip (41.43 KB, 下载次数: 4)

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 16:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请各位老师和高手帮忙,感谢
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 16:36 | 显示全部楼层
    'Dim strsql1 As String
    'strsql1 = "SELECT Mid([零件位置],InStr([零件位置],'<')+1,(InStr([零件位置],'(')-1)-(InStr([零件位置],'<'))) " _
    '& "AS 料号, Mid([零件位置],InStr([零件位置],'(')+1,(InStr([零件位置],')')-1)-(InStr([零件位置],'('))) " _
    '& "AS 规格, 整理前.用量, Mid([零件位置],1,InStr([零件位置],'<')-2) " _
    '& "AS 整理后零件位置 INTO 整理后 " _
    '& "FROM 整理前 " _
    '& "WHERE (((InStr([零件位置],'<'))>0))"
    'DoCmd.RunSQL strsql1
这样执行只能处理一个<()>内的数据,当有多个时就只能保留第一个

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 16:38 | 显示全部楼层
    'Dim strsql1 As String
    'strsql1 = "SELECT Mid([零件位置],InStr([零件位置],'<')+1,(InStr([零件位置],'(')-1)-(InStr([零件位置],'<'))) " _
    '& "AS 料号, Mid([零件位置],InStr([零件位置],'(')+1,(InStr([零件位置],')')-1)-(InStr([零件位置],'('))) " _
    '& "AS 规格, 整理前.用量, Mid([零件位置],1,InStr([零件位置],'<')-2) " _
    '& "AS 整理后零件位置 INTO 整理后 " _
    '& "FROM 整理前 " _
    '& "WHERE (((InStr([零件位置],'<'))>0))"
    'DoCmd.RunSQL strsql1
现在目前的方法只能处理一组数据,当有多个时候只能保留第一个,一直解决不了,请大家帮帮忙!

TA的精华主题

TA的得分主题

发表于 2021-8-2 17:50 来自手机 | 显示全部楼层
goodwin168 发表于 2021-8-2 16:38
'Dim strsql1 As String
    'strsql1 = "SELECT Mid([零件位置],InStr([零件位置],'

这个单纯用sql,比较难,建议还是vba编程,循环解决。
另外,上传excel文件,转换成excel问题,可能回复的人会多些。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 18:19 | 显示全部楼层
zpy2 发表于 2021-8-2 17:50
这个单纯用sql,比较难,建议还是vba编程,循环解决。
另外,上传excel文件,转换成excel问题,可能回复 ...

想学习ACCESS,VBA更好,期待你的帮忙

TA的精华主题

TA的得分主题

发表于 2021-8-2 19:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
希望提供更多有规则的信息:
如<>和()之间的内容长度是固定的吗?
.....
规则越多,则代码写起来就简约了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 19:38 | 显示全部楼层
ly 发表于 2021-8-2 19:31
希望提供更多有规则的信息:
如和()之间的内容长度是固定的吗?
.....

<0341012315(1/10W 10ohm F 0603)><0341012332(1/11W 10ohm F 0603)><0341012333(1/12W 10ohm F 0603)><0341012334(1/13W 10ohm F 0603)><0341012335(1/14W 10ohm F 0603)>
你好长度不固定,<0341012315(1/10W 10ohm F 0603)>这样是一组数据,<尖刮号与(刮号之前红色为新的替用料号,()之间的蓝色为替代料的规格,长度不用管,只要依尖刮号和圆刮号来区分即可!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-2 19:40 | 显示全部楼层
ly 发表于 2021-8-2 19:31
希望提供更多有规则的信息:
如和()之间的内容长度是固定的吗?
.....

高手就是高手啊,回答的如些轻便!向您多学习

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-3 07:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub test()
    Dim i%, j%, k%, arr, arr1
    arr = Sheet1.[a1].CurrentRegion
    j = 2
    For i = 2 To UBound(arr)
        With Sheets(2)
            Sheets(1).Activate
            Range(Cells(i, 2), Cells(i, 4)).Copy .Cells(j, 1)
            If InStr(arr(i, 5), "<") Then
                arr1 = Split(arr(i, 5), "<")
                .Cells(j, 4) = arr1(0): j = j + 1

                For k = 1 To UBound(arr1)
                    .Cells(j, 1) = Split(arr1(k), "(")(0)
                    .Cells(j, 2) = Split(Replace(arr1(k), ")", "("), "(")(1)
                    .Range(.Cells(j - 1, 3), .Cells(j - 1, 4)).Copy .Cells(j, 3)
                    j = j + 1
                    
                    Next
            Else
               Sheet1.Cells(i, 5).Copy .Cells(j, 4)
               j = j + 1
            End If
        End With
    Next
End Sub

这个代表怎样改成ACCESS代码?各位老师指导一下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 13:13 , Processed in 0.034622 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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