Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2015|回复: 9

[已解决]关于快递单号提取方法,求大神指教下

[复制链接]
发表于 2016-8-1 18:38 | 显示全部楼层 |阅读模式
快递单号提取方法,在系统导出来的快递单号是一单多台的那种,就相当于是一单多个快递单号,怎么将逗号之后的快递单号截取下来呢,一对一的快递单号。快递公司        快递单号

最佳答案
2016-8-2 15:47
Sub test()
    Dim A, B(1 To 10 ^ 5, 1 To 2), i, j, s
    Application.DisplayAlerts = False
    With Sheets(2)

        '1)将数据源第2列按逗号分列
        i = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
        Sheets(1).Range("a1:b" & i).Copy .Range("a1")
        .Cells.NumberFormat = "000000000000"
        .Range("b:b").TextToColumns Comma:=True
        A = .Range("a1").CurrentRegion

        '2)存入数组B
        For i = 2 To UBound(A)
            For j = 2 To UBound(A, 2)
                If A(i, j) = "" Then
                    Exit For
                Else
                    s = s + 1: B(s, 1) = A(i, 1): B(s, 2) = A(i, j)
                End If
            Next j
        Next i

        '3)输出
        .Range("a1").CurrentRegion = ""
        .Range("a1").Resize(s, 2) = B
        .Columns(2).AutoFit
        .Activate

    End With
End Sub

快递单号2.rar (362.35 KB, 下载次数: 16)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2016-8-1 18:40 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-8-1 18:45 | 显示全部楼层
快递单号.zip (358.2 KB, 下载次数: 11)
回复

使用道具 举报

 楼主| 发表于 2016-8-1 18:46 | 显示全部楼层
希望大神们,帮忙看看,怎样最快速的提取快递单号出来,方便用VOOLKUP匹配使用
回复

使用道具 举报

发表于 2016-8-1 18:56 | 显示全部楼层
arr=split(ss,",")
回复

使用道具 举报

 楼主| 发表于 2016-8-1 22:03 | 显示全部楼层
datongye 发表于 2016-8-1 18:56
arr=split(ss,",")

大神,你说的是用VBA的方法吗?对VBA的函数不是很懂,可以给点步骤吗?万分感谢!!!
回复

使用道具 举报

发表于 2016-8-2 14:15 | 显示全部楼层
用word处理非常方便。
附件打不开。
回复

使用道具 举报

发表于 2016-8-2 15:47 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim A, B(1 To 10 ^ 5, 1 To 2), i, j, s
    Application.DisplayAlerts = False
    With Sheets(2)

        '1)将数据源第2列按逗号分列
        i = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
        Sheets(1).Range("a1:b" & i).Copy .Range("a1")
        .Cells.NumberFormat = "000000000000"
        .Range("b:b").TextToColumns Comma:=True
        A = .Range("a1").CurrentRegion

        '2)存入数组B
        For i = 2 To UBound(A)
            For j = 2 To UBound(A, 2)
                If A(i, j) = "" Then
                    Exit For
                Else
                    s = s + 1: B(s, 1) = A(i, 1): B(s, 2) = A(i, j)
                End If
            Next j
        Next i

        '3)输出
        .Range("a1").CurrentRegion = ""
        .Range("a1").Resize(s, 2) = B
        .Columns(2).AutoFit
        .Activate

    End With
End Sub

快递单号2.rar (362.35 KB, 下载次数: 16)
回复

使用道具 举报

发表于 2016-8-2 15:51 | 显示全部楼层
试试这个

快递单号.zip

404.04 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2016-8-3 10:01 | 显示全部楼层
datongye 发表于 2016-8-2 15:51
试试这个

非常感谢!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 13:16 , Processed in 0.303369 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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