返回列表 上一主題 發帖

[發問] EXCEL2010 想批次匯入圖片

[發問] EXCEL2010 想批次匯入圖片

小弟最近工作上遇到一個問題
每個車站掉漆照片約1.2百張,有6個車站
照片檔案我已經依照時間排好為001.002.003.........這樣下去

VBA要如何寫出批次貼上???
如圖,當我選到O13這車站,會自己從O13資料夾把照片存到儲存格,且符合儲存格大小
從C3開始一直貼完

謝謝高手前輩指教,我看了一些類似的還是沒辦法領悟



小弟忘了說
當我選到其他車站也是一樣自己從相對應的資料夾把照片存到儲存格,且符合儲存格大小
不是只有O13一個車站喔!!

TOP

回復 3# lpk187

謝謝這位大哥熱心教導,不過小弟真的還是試不成功,可能我要再慢慢體會
我用另一位大哥寫的,稍作修改,成功的符合我要求

還是謝謝你的熱心,尤其你的解說讓不懂得語法的我也感到你的貼心
謝謝,最後附上我的程式碼
  1. Sub ChangeSize()
  2.     Dim Mypath As String, E As Range, MyPic As Object
  3.     Mypath = "C:\Users\Administrator\Desktop\掉漆\O13\"
  4.     With Sheets("O13")
  5.         .Pictures.Delete
  6.         For Each E In .Range("c3", .Range("c" & .Rows.Count).End(xlUp))
  7.         'For Each  : 依序處裡集合的成員
  8.         '集合的成員: .Range("a2") 到 .Range("a" & .Rows.Count).End(xlUp))的儲存格
  9.                                      '(從最儲存格底部的列往到有資料的儲存格)
  10.             If Dir(Mypath & E & ".jpg") <> "" Then
  11.                 Set MyPic = ActiveSheet.Pictures.Insert(Mypath & E & ".jpg")
  12.                 With MyPic
  13.                     .ShapeRange.LockAspectRatio = msoFalse
  14.                     .Left = E.Cells(1, 1).Left
  15.                     .Top = E.Cells(1, 1).Top
  16.                     .Width = E.Cells(1, 1).Width
  17.                     .Height = E.Cells(1, 1).Height
  18.                 End With
  19.             End If
  20.         Next
  21.     End With
  22. End Sub
複製代碼
不知道為何圖片如果從001-102,只有100.101.102圖片貼得上
檔名從101-202就都可以貼上,看來....我要學習的還很多...

TOP

回復 5# lpk187


謝謝大哥
又教我一招,這論壇真的都是好人
我在別的論壇都沒人理我
更過分的還有人私信,說2000元就幫我做
真的是....

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題