|
发表于 2013-5-24 16:44
|
显示全部楼层
本楼为最佳答案
- Sub 调入数据()
- Application.ScreenUpdating = True
- Range("a4:e4").ClearContents
- Range("b6").ClearContents
- Range("e6:j6").ClearContents
- Range("b7:e7").ClearContents
- Range("c15:m15").ClearContents
- ' On Error GoTo 10
- NAM = Application.GetOpenFilename(FileFilter:="源文档(*.xls),*.xls", Title:="请选取文件导入")
- If NAM = False Then Exit Sub
- Workbooks.Open (NAM)
- With ActiveWorkbook.Sheets(1)
- w = .Range("B65536").End(3).Row
- i = 1
- Set x = .Range("B5:B" & w).Find("序号")
- If Not x Is Nothing Then firstAddress = x.Address
- Do
- n = -1
- Do Until (x.Offset(n, 0) = "申请人名称" Or x.Offset(n, 0) = "企业名称")
- ReDim Preserve arr(1 To 4, 1 To i)
- arr(1, i) = x.Offset(n, 0)
- arr(2, i) = x.Offset(n, 1)
- arr(4, i) = x.Offset(n, 11)
- i = i + 1
- n = n - 1
- Loop
- Set x = .Range("B5:B" & w).FindNext(x)
- Loop While Not x Is Nothing And x.Address <> firstAddress
- End With
- ActiveWorkbook.Close
- BRR = ThisWorkbook.Sheets(3).Range("A2:B" & ThisWorkbook.Sheets(3).Range("A65536").End(3).Row)
- For i = 1 To UBound(arr, 2)
- For j = 1 To UBound(BRR)
- If InStrRev(arr(2, i), BRR(j, 2)) Then
- arr(2, i) = BRR(j, 2)
- arr(3, i) = BRR(j, 1)
- Exit For
- End If
- Next
- Next
- 选择.Show 0
- Exit Sub
- 10 MsgBox "请检查源文件是否都正确!"
- Application.ScreenUpdating = True
- End Sub
复制代码 调入数据的过程改了下,先读取了150的观察员数据,还没有做检验。
|
|