ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 根据Excel姓名和身份证号从文本文件提取相关数据到指定列

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-5 13:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢老师的帮助!太强大了!请教一下老师是使用什么工具发现BC列单元格有回车符的?

TA的精华主题

TA的得分主题

发表于 2024-12-5 13:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
APPLE123 发表于 2024-12-5 13:05
谢谢老师的帮助!太强大了!请教一下老师是使用什么工具发现BC列单元格有回车符的?

因为代码没有问题,但取不到值,所以,就去看BC列单元格的值。

TA的精华主题

TA的得分主题

发表于 2024-12-5 14:29 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-5 19:28 | 显示全部楼层
ykcbf1100 发表于 2024-12-5 13:57
因为代码没有问题,但取不到值,所以,就去看BC列单元格的值。

谢谢老师!
因为看不见BC列单元格有其他的内容,但您是如何BC列单元格有回车符,而不是其他的字符呢?常规情况下,这些字符是看不见的呀!有什么工具或方法可以查看吗?

TA的精华主题

TA的得分主题

发表于 2024-12-5 20:03 | 显示全部楼层
Option Explicit
Sub test()
    Dim strFileName$, strPath$, strResult$(), ar, br, y&, x&, r&, n As Byte
   
    DoApp False
   
    strPath = ThisWorkbook.Path & "\"
    strFileName = Dir(strPath & "*.txt")
    Do Until strFileName = ""
        n = FreeFile
        Open strPath & strFileName For Input As #n
            ar = Split(StrConv(InputB(LOF(n), #n), vbUnicode), "就职")
        Close #n
        For y = 0 To UBound(ar)
            If Len(ar(y)) Then
                br = Split(ar(y), vbCrLf)
                r = r + 1
                ReDim Preserve strResult(1 To 3, 1 To r)
                For x = 1 To 3
                    If x > 1 Then n = x + 1 Else n = 1
                    strResult(x, r) = br(n)
                Next x
            End If
        Next y
        strFileName = Dir
    Loop
   
    With [A1].CurrentRegion
        ar = .Value
        For x = 3 To UBound(ar)
            For y = 4 To 5: ar(x, y) = Empty: Next
            For y = 1 To UBound(strResult, 2)
                If strResult(1, y) = ar(x, 2) Then
                    ar(x, 4) = strResult(2, y)
                    ar(x, 5) = strResult(3, y)
                    Exit For
                End If
            Next y
        Next x
        .Value = ar
    End With
   
    DoApp
    Beep
End Sub
Function DoApp(Optional b As Boolean = True)
    With Application
        .ScreenUpdating = b
        .DisplayAlerts = b
        .Calculation = -b * 30 - 4135
    End With
End Function

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-12-5 20:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
参与一下。。。

根据Excel姓名和身份证号从文本文件提取相关数据到指定列.rar

27.1 KB, 下载次数: 8

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-5 20:41 | 显示全部楼层
gwjkkkkk 发表于 2024-12-5 20:03
Option Explicit
Sub test()
    Dim strFileName$, strPath$, strResult$(), ar, br, y&, x&, r&, n As  ...

谢谢老师,可以达到预期效果。但是不太理解,可否发个注释版代码,谢谢!

TA的精华主题

TA的得分主题

发表于 2024-12-5 20:46 | 显示全部楼层
APPLE123 发表于 2024-12-5 19:28
谢谢老师!
因为看不见BC列单元格有其他的内容,但您是如何BC列单元格有回车符,而不是其他的字符呢?常 ...

查看单元格就知道了,因为光标落在第二行,所以有回车符

TA的精华主题

TA的得分主题

发表于 2024-12-6 19:59 | 显示全部楼层
APPLE123 发表于 2024-12-5 20:41
谢谢老师,可以达到预期效果。但是不太理解,可否发个注释版代码,谢谢!

对代码进行了解释,不知道能不能理解。。。

根据Excel姓名和身份证号从文本文件提取相关数据到指定列.rar

27.53 KB, 下载次数: 10

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-12 21:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gwjkkkkk 发表于 2024-12-6 19:59
对代码进行了解释,不知道能不能理解。。。

谢谢老师!再请教一下老师:
.Calculation = -b * 30 - 4135
这句代码是什么意思?这些数字是怎么来的?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 15:49 , Processed in 0.045285 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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