|
求帮助,代码是以前大神帮忙写的,但是后来人做的数据格式有问题就用不了了,求大神帮忙修改
类似这样,左边第一列与第二列中间两个空格不能用,右图三个空格就能用,如果一个个加空格工作量好大,所以看有木有大神帮忙改下代码
代码如下
- Sub test()
- t = Timer
- Dim Path$, myName$, arr(16380), brr, crr, tmp, i&, j&, D As Object
- Path = ThisWorkbook.Path & ""
- myName = Dir(Path & "*.txt")
- Do While myName <> ""
- arr(i) = myName
- i = i + 1
- myName = Dir
- Loop
- UsedRange.Offset(0, 2).ClearContents
- [c1].Resize(1, i) = arr
- brr = [a1].CurrentRegion
- Set D = CreateObject("scripting.dictionary")
- For i = 2 To UBound(brr)
- D(brr(i, 1) & brr(i, 2)) = i
- Next
- For i = 3 To UBound(brr, 2)
- Open Path & brr(1, i) For Input As #1
- crr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
- Close #1
- brr(1, i) = Split(brr(1, i), ".")(0)
- For j = 0 To UBound(crr)
- If crr(j) <> "" Then
- tmp = Split(WorksheetFunction.Trim(WorksheetFunction.Clean(crr(j))), " ")
- If UBound(tmp) = 3 Then
- If D.exists(tmp(0) & tmp(2)) Then brr(D(tmp(0) & tmp(2)), i) = tmp(3)
- End If
- End If
- Next
- Next
- [a1].Resize(UBound(brr), UBound(brr, 2)) = brr
- MsgBox "OK,Run Times: " & Timer - t, vbInformation
- End Sub
复制代码 另外加上两种不同的数据如附件,麻烦大神帮忙修改,真的很急,十分感谢!
间隔两个空格失败.rar
(56.5 KB, 下载次数: 7)
间隔三个空格成功.rar
(238.52 KB, 下载次数: 7)
该贴已经同步到 a8851562的微博 |
|