macro format değişikliği

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşlar aşağıdaki macromla bmp formatındaki resimleri getiriyorum ancak jpg olduğu zaman maalesef gelmiyor. jpg'leri de ayrım yapmaksınız getirmesi için macro'ya nasıl bir eklenti yapmam gerekmektedir?

Teşekkürler...


Dim resim As Object, i As Long, yol As String, dosya As String
yol = Cells(1, "ı")
'Set Alan = Range("a1:a20") 'resim silinecek alan
Set Alan = Range("a1:a3") 'resim silinecek alan
Set Alan = Range("a5:a7") 'resim silinecek alan
Set Alan = Range("a9:a11") 'resim silinecek alan
Set Alan = Range("a13:a15") 'resim silinecek alan
Set Alan = Range("a17:a19") 'resim silinecek alan
For Each resimm In ActiveSheet.Pictures
If Not Intersect(resimm.TopLeftCell, Alan) Is Nothing Then
resimm.Delete
End If
Next
Set Alan = Nothing
For q = 1 To 20 Step 4
If Dir(yol & "\" & Cells(q + 3, "b").Value & ".bmp") <> "" Then 'resim adının alındığı alan
dosya = "\" & Cells(q + 3, "b").Value & ".bmp" 'resim adı
If TypeName(ActiveSheet) = "Worksheet" Then ' Exit Sub
Set P = ActiveSheet.Pictures.Insert(yol & dosya)
With Cells(q, "a") 'resmin konumlanacağı alan
t = .Top
l = .Left
w = .Offset(50, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 50).Top - .Top
End With
With P
.Top = t + 1
.Left = l + 1
.Width = w - 1
.Height = h - 1
End With
Set P = Nothing
End If
End If
Next q

Set Alan = Range("c1:c3") 'resim silinecek alan
Set Alan = Range("c5:c7") 'resim silinecek alan
Set Alan = Range("c9:c11") 'resim silinecek alan
Set Alan = Range("c13:c15") 'resim silinecek alan
Set Alan = Range("c17:c19") 'resim silinecek alan
For Each resimm In ActiveSheet.Pictures
If Not Intersect(resimm.TopLeftCell, Alan) Is Nothing Then
resimm.Delete
End If
Next
Set Alan = Nothing
For q = 1 To 20 Step 4
If Dir(yol & "\" & Cells(q + 3, "d").Value & ".bmp") <> "" Then 'resim adının alındığı alan
dosya = "\" & Cells(q + 3, "d").Value & ".bmp" 'resim adı
If TypeName(ActiveSheet) = "Worksheet" Then ' Exit Sub
Set P = ActiveSheet.Pictures.Insert(yol & dosya)
With Cells(q, "c") 'resmin konumlanacağı alan
t = .Top
l = .Left
w = .Offset(50, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 50).Top - .Top
End With
With P
.Top = t + 1
.Left = l + 1
.Width = w - 1
.Height = h - 1
End With
Set P = Nothing
End If
End If
Next q

Set Alan = Range("e1:e3") 'resim silinecek alan
Set Alan = Range("e5:e7") 'resim silinecek alan
Set Alan = Range("e9:e11") 'resim silinecek alan
Set Alan = Range("e13:e15") 'resim silinecek alan
Set Alan = Range("e17:e19") 'resim silinecek alan
For Each resimm In ActiveSheet.Pictures
If Not Intersect(resimm.TopLeftCell, Alan) Is Nothing Then
resimm.Delete
End If
Next
Set Alan = Nothing
For q = 1 To 20 Step 4
If Dir(yol & "\" & Cells(q + 3, "f").Value & ".bmp") <> "" Then 'resim adının alındığı alan
dosya = "\" & Cells(q + 3, "f").Value & ".bmp" 'resim adı
If TypeName(ActiveSheet) = "Worksheet" Then ' Exit Sub
Set P = ActiveSheet.Pictures.Insert(yol & dosya)
With Cells(q, "e") 'resmin konumlanacağı alan
t = .Top
l = .Left
w = .Offset(50, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 50).Top - .Top
End With
With P
.Top = t + 1
.Left = l + 1
.Width = w - 1
.Height = h - 1
End With
Set P = Nothing
End If
End If
Next q

Application.ScreenUpdating = True
End Sub
 
Üst