可以应用字典对象: Sub ChangeToText() Dim arr, dic As Object, i As Long Set dic = CreateObject("scripting.dictionary") Open ThisWorkbook.Path & "\TextData.txt" For Input As #1 arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf) Close #1 For i = 0 To UBound(arr) If Len(arr(i)) > 0 Then dic.Add Split(arr(i), vbTab)(0), arr(i) Next arr = [a1].CurrentRegion For i = 2 To UBound(arr) If dic.exists(arr(i, 1)) Then dic(arr(i, 1)) = Join(Application.Index(arr, i, 0), vbTab) Else dic.Add arr(i, 1), Join(Application.Index(arr, i, 0), vbTab) End If Next Open ThisWorkbook.Path & "\TextData.txt" For Binary As #1 Put #1, , Join(dic.items, vbCrLf) Close #1 Set dic = Nothing MsgBox "ok" End Sub |