Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2284|回复: 2

[已解决]提取相同图片名称的图片.ra ...

[复制链接]
发表于 2015-9-7 22:02 | 显示全部楼层 |阅读模式
提取相同图片名称的图片.rar (590.54 KB, 下载次数: 12)
发表于 2015-9-7 23:22 | 显示全部楼层
  1. Sub Macro1()
  2. On Error Resume Next
  3. Dim fs, d, i&, j%, rng As Range
  4. Set fs = CreateObject("scripting.FileSystemObject")
  5. Set d = CreateObject("scripting.dictionary")
  6. mypath = ThisWorkbook.Path & ""
  7. Application.ScreenUpdating = False
  8. Application.DisplayAlerts = False
  9. For i = Sheets.Count To 1 Step -1
  10.     If Sheets(i).Name <> "界面" Then Sheets(i).Delete
  11. Next
  12. For Each f In fs.GetFolder(mypath).SubFolders
  13.     wj = Dir(f & "\*.*")
  14.     Do While wj <> ""
  15.         w = Split(wj, ".")(0)
  16.         If Not d.Exists(w) Then
  17.             d(w) = f & "" & wj
  18.         Else
  19.             d(w) = d(w) & " " & f & "" & wj
  20.         End If
  21.         wj = Dir
  22.    Loop
  23. Next
  24. a = d.Keys: b = d.Items
  25. For i = 0 To d.Count - 1
  26.     x = Split(b(i))
  27.     With Sheets.Add(after:=Sheets(Sheets.Count))
  28.         .Name = a(i)
  29.         For j = 0 To UBound(x)
  30.             Set rng = .Cells(1, j * 4 + 1).Resize(10, 3)
  31.             .Shapes.AddShape(msoShapeRectangle, rng.Left, rng.Top, rng.Width, rng.Height).Select
  32.             Selection.ShapeRange.Fill.UserPicture x(j)
  33.         Next
  34.     End With
  35. Next
  36. Application.DisplayAlerts = True
  37. Application.ScreenUpdating = True
  38. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
水木 + 3 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-9-7 23:22 | 显示全部楼层    本楼为最佳答案   
……………………

提取相同图片名称的图片.zip

266 KB, 下载次数: 26

评分

参与人数 2 +15 收起 理由
悠悠05 + 12
水木 + 3 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 14:32 , Processed in 0.831156 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表