首页 > 解决方案 > 从各种其他文档中提取组织成员信息

问题描述

我写了一个 Sub 来在导入后从其他各种文档中提取组织成员信息。有一个更好的方法吗?

此代码似乎是成功的,但似乎有更好的方法来做到这一点。

目标是将成员名称从 LASTNAME、FIRSTNAME MIDDLE NAME 重新格式化为 LASTNAMEFIRSTNAME,并将其与成员名称格式不同的其他文档相匹配——即没有中间名的 LASTNAME、FIRSTNAME。

匹配时,主花名册将从匹配的花名册中提取信息。

我该如何改进呢?

提前致谢!

    Option Explicit: Option Base 1
Dim a, a2, b, cl As Variant, i, x, y As Integer, r, r2 As Range, LC, FC As String

Sub Test()

    y = sAlpha.Cells(Rows.Count, 1).End(xlUp).Row: FC = sAlpha.Cells(1, 1).Address
    LC = sAlpha.Cells(y, 1).Address: Set r = sAlpha.Range(FC, LC): a = r

                    ReDim b(1 To UBound(a), 2)
On Error GoTo nxt
                    For i = 1 To UBound(a)
                        b = Split(a(i, 1), ", "): a(i, 1) = b(0)
                        b = Split(b(1), " "): a(i, 1) = a(i, 1) & b(0)
                        b = Replace(a(i, 1), " ", ""): a(i, 1) = b
                    Next i
nxt:
                        r.Value = a

    FC = sAlpha.Cells(1, 10).Address: LC = sAlpha.Cells(y, 10).Address: Set r2 = sAlpha.Range(FC, LC)

            i = 1
            For Each cl In r
                x = WorksheetFunction.Match(cl, r2, 0): cl = r2(x, 2): r(i, 2).Value = cl: i = i + 1
            Next cl


End Sub

标签: excelvba

解决方案


推荐阅读