|
Sub 按钮1_Click()
Set d = CreateObject("scripting.dictionary")
Set fso = CreateObject("scripting.filesystemobject")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set sh = ThisWorkbook.Sheets(1)
arr = sh.UsedRange
For j = 4 To UBound(arr)
If Len(arr(j, 3)) > 0 Then
Set d(arr(j, 3)) = Cells(j, "v")
Else
If Len(arr(j, 4)) > 0 Then
Set d(arr(j, 4)) = Cells(j, "v")
End If
End If
Next j
For Each f In fso.GetFolder(ThisWorkbook.Path).Files
If InStr(f.Name, ThisWorkbook.Name) + InStr(f.Name, "$") = 0 Then
With Workbooks.Open(f)
arr = .Sheets(1).UsedRange
Set rng = .Sheets(1).Rows(2).Find("图片", lookat:=xlWhole)
If rng Is Nothing Then
Set rng = .Sheets(1).Rows(2).Find("备注/用途", lookat:=xlWhole)
If rng Is Nothing Then GoTo l1
End If
m = rng.Column
For j = 3 To UBound(arr)
If Len(arr(j, 3)) > 0 Then
If d.Exists(arr(j, 3)) Then
.Sheets(1).Cells(j, m).Copy d(arr(j, 3))
Else
If d.Exists(arr(j, 4)) Then
.Sheets(1).Cells(j, m).Copy d(arr(j, 4))
End If
End If
End If
Next j
l1:
.Close False
End With
End If
Next f
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
|
|