- 打开一个新的空白工作簿将其设置为
Delimited
。
- 单击Sheet1名称选项卡并选择查看代码。
- 当VBE打开时,将以下内容粘贴到名为Sheet1(Code)的代码表中。
代码:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Parent.UsedRange.Cells.Count = 1 And _
Target.Cells.Count = 1 And _
Target.Address(0, 0) = "A1" Then
On Error GoTo safe_exit
Application.EnableEvents = False
Dim a As Long, b As Long, arr1 As Variant, arr2 As Variant, hdr As Variant, tmp As Variant
arr1 = Split(Replace(Target.Value2, ",Name:", vbLf & "Name:"), vbLf)
For a = LBound(arr1) To UBound(arr1)
arr2 = Split(arr1(a), Chr(44))
For b = LBound(arr2) To UBound(arr2)
tmp = Split(arr2(b), Chr(58))
hdr = Application.Match(tmp(0), Rows(1), 0)
If IsError(hdr) Then
Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1) = tmp(0)
hdr = Application.Match(tmp(0), Rows(1), 0)
End If
Cells(2 + a, hdr) = tmp(1)
Next b
Next a
Columns(1).EntireColumn.Delete
End If
safe_exit:
Application.EnableEvents = True
End Sub
- 点击按Ctrl + Q返回到你的新的空白工作表。 - 在记事本或其他文本编辑器中打开TXT文件并复制整个事情。 - 返回新的空白Sheet1并将文本粘贴到A1中。使用

Excel中导入功能,但我愿意接受任何解决方案 – Dreamwatcher
您可以尝试查找/替换',名称:'和',[新线]产品名称:' – user1274820
我真的很缺乏经验与VBA – Dreamwatcher