|
发表于 2017-6-7 10:21
|
显示全部楼层
本楼为最佳答案
- Private Sub CommandButton2_Click()
- Dim Arr, i&, Myr&, r&, Brr
- Dim d, k, t, K1, K2
- K1 = 0: K2 = 0
- Set d = CreateObject("Scripting.Dictionary")
- Application.ScreenUpdating = False
- strFilename = Application.GetOpenFilename(, , "请选择需要导入的文件")
- If strFilename = "False" Then
- Exit Sub
- End If
- FileN = Dir(strFilename)
- Workbooks.OpenText Filename:=strFilename, DataType:=xlDelimited, Tab:=True
- strDataBook = ActiveWorkbook.Name
- With ActiveSheet
- If .Cells(1, 1).Value = "序号" And .Cells(1, 2).Value = "新增日期" And .Cells(1, 3).Value = "登录日期" Then
- Myr = .Cells(Rows.Count, 1).End(xlUp).Row
- Brr = .Range("A3:M" & Myr)
- Workbooks(strDataBook).Close savechanges:=False
- Else
- Workbooks(strDataBook).Close savechanges:=False
- MsgBox " 您打开文件不正确,请确认!"
- Exit Sub
- End If
- End With
- With ActiveSheet
- Arr = .[A9].CurrentRegion
- For i = 1 To UBound(Arr)
- d(Arr(i, 4)) = 6 + i
- Next
- r = .Cells(Rows.Count, 4).End(xlUp).Row
- If r = 7 Then r = r + 1
- For i = 1 To UBound(Brr)
- If d.exists(Brr(i, 4)) Then
- k = d(Brr(i, 4))
- .Cells(k, 3) = Brr(i, 3): .Cells(k, 5) = Brr(i, 5): .Cells(k, 6) = Brr(i, 6)
- .Cells(k, 7) = Brr(i, 7): .Cells(k, 8) = Brr(i, 8): .Cells(k, 9) = Brr(i, 9)
- .Cells(k, 10) = Brr(i, 10): .Cells(k, 13) = Brr(i, 11)
- K1 = K1 + 1
- Else
- r = r + 1
- .Cells(r, 2) = Brr(i, 3): .Cells(r, 5) = Brr(i, 5): .Cells(r, 6) = Brr(i, 6)
- .Cells(r, 7) = Brr(i, 7): .Cells(r, 8) = Brr(i, 8): .Cells(r, 9) = Brr(i, 9)
- .Cells(r, 10) = Brr(i, 10): .Cells(r, 13) = Brr(i, 11): .Cells(r, 4) = Brr(i, 4)
- .Cells(r, 13) = Brr(i, 12): .Cells(r, 14) = Brr(i, 13)
- .Cells(r, 1) = r - 8
- K2 = K2 + 1
- End If
- Next
- With .Range("A7").CurrentRegion.Borders
- .LineStyle = xlContinuous
- .Weight = xlThin
- End With
- With .Range("A7").CurrentRegion
- .VerticalAlignment = xlCenter
- .HorizontalAlignment = xlCenter
- .Font.Name = "微软雅黑"
- .Font.Size = 11
- .EntireColumn.AutoFit
- End With
- End With
- MsgBox Space(4) & "文件导入完成,请确认!" & Chr(10) _
- & Space(4) & "新增记录:" & K2 & Chr(10) _
- & Space(4) & "更新记录:" & K1
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|