標題:
vba插入圖片問題
[打印本頁]
作者:
h99949
時間:
2014-2-21 14:19
標題:
vba插入圖片問題
想請問大家
圖片存放路徑為 D:\catalogue\A.JPG
當A2儲存格為A時,B2儲存格自動插入A.JPG的圖片
當A3儲存格為B時,B3儲存格則自動插入名稱為B.JPG的圖片
但當A4儲存格為C時,則因為路徑內無C.JPG的圖片時顯示空白
程式碼應該如何做修改?
作者:
GBKEE
時間:
2014-2-21 15:03
回復
1#
h99949
Option Explicit
Sub ChangeSize()
Dim Mypath As String, E As Range, MyPic As Object
Mypath = "D:\catalogue\"
With Sheets("工作表1")
.Pictures.Delete
For Each E In .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
'For Each : 依序處裡集合的成員
'集合的成員: .Range("a2") 到 .Range("a" & .Rows.Count).End(xlUp))的儲存格
'(從最儲存格底部的列往到有資料的儲存格)
If Dir(Mypath & E & ".jpg") <> "" Then
Set MyPic = ActiveSheet.Pictures.Insert(Mypath & E & ".jpg")
With MyPic
.ShapeRange.LockAspectRatio = msoFalse
.Left = E.Cells(1, 2).Left
.Top = E.Cells(1, 2).Top
.Width = E.Cells(1, 2).Width
.Height = E.Cells(1, 2).Height
End With
End If
Next
End With
End Sub
複製代碼
作者:
h99949
時間:
2014-2-21 17:57
回復
2#
GBKEE
圖片存放路徑為 D:\catalogue\A.JPG
當A2儲存格為A時,B2儲存格自動插入A.JPG的圖片
當A3儲存格為B時,B3儲存格則自動插入名稱為B.JPG的圖片
但當A4儲存格為C時,則因為路徑內無C.JPG的圖片時顯示空白
如果要再追加輸入D儲存格,E儲存格自動插入圖片
跟輸入G儲存格,H儲存格自動插入圖片
程式碼應該如何做修改?
作者:
GBKEE
時間:
2014-2-21 18:23
回復
3#
h99949
Option Explicit
Sub ChangeSize()
Dim Mypath As String, E As Range, i As Integer ', MyPic As Object
Mypath = "D:\catalogue\"
With Sheets("工作表1")
.Pictures.Delete
For i = 1 To 7 Step 3 'A欄 ->1,D欄 ->4,G欄 ->7
For Each E In .UsedRange.Columns(i).Cells ' 'A欄 ->1,D欄 ->4,G欄 ->7
If Dir(Mypath & E & ".jpg") <> "" Then
'Set MyPic = ActiveSheet.Pictures.Insert(Mypath & E & ".jpg")
With .Pictures.Insert(Mypath & E & ".jpg")
.ShapeRange.LockAspectRatio = msoFalse
.Left = E.Cells(1, 2).Left
.Top = E.Cells(1, 2).Top
.Width = E.Cells(1, 2).Width
.Height = E.Cells(1, 2).Height
End With
End If
Next
Next
End With
End Sub
複製代碼
作者:
h99949
時間:
2014-2-24 10:23
回復
4#
GBKEE
請問如果我調整插入的圖片大小,程式碼應該要在哪裡修改??
作者:
GBKEE
時間:
2014-2-25 15:12
回復
5#
h99949
Option Explicit
Sub ChangeSize()
Dim Mypath As String, E As Range, i As Integer ', MyPic As Object
Mypath = "D:\catalogue\"
With Sheets("工作表1")
.Pictures.Delete
For i = 1 To 7 Step 3 'A欄 ->1,D欄 ->4,G欄 ->7
For Each E In .UsedRange.Columns(i).Cells ' 'A欄 ->1,D欄 ->4,G欄 ->7
E.ColumnWidth = 25 '調整儲存格寬度
E.RowHeight = 50 '調整儲存格高度
If Dir(Mypath & E & ".jpg") <> "" Then
'Set MyPic = ActiveSheet.Pictures.Insert(Mypath & E & ".jpg")
With .Pictures.Insert(Mypath & E & ".jpg")
.ShapeRange.LockAspectRatio = msoFalse
.Left = E.Cells(1, 2).Left
.Top = E.Cells(1, 2).Top
.Width = E.Cells(1, 2).Width '=儲存格寬度
.Height = E.Cells(1, 2).Height '=儲存格高度
End With
End If
Next
Next
End With
End Sub
複製代碼
作者:
aa12312399
時間:
2015-10-17 17:26
感恩的心......
作者:
jackyliu
時間:
2023-3-12 16:15
請問 若將圖片改插入L欄, 欄位寬度與高度從第6行開始設定,要改哪?
附註說明: A欄一樣紀錄圖檔名
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)