kakara
Altın Üye
- Katılım
- 5 Mart 2014
- Mesajlar
- 252
- Excel Vers. ve Dili
- excel 2016 plus
- Altın Üyelik Bitiş Tarihi
- 19-12-2025
merhaba ustadlar assagıdakı kod ıle resım cekmeye calısıyorum fakat basaramadım. bırde resım yolunu değiştirmek için ne yapmam gerekıyor. ilginiz için şimdiden teşekkurler
Sub Resim_Ekle()
Application.Volatile
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim fso As Object, Evn As Object, renk As Byte, mypicture As Shape
Set Evn = CreateObject("Scripting.Dictionary")
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For Each i In ActiveSheet.Shapes
If i.Name <> "Picture 22" Then
If i.Name Like "Pic*" Then
ActiveSheet.Shapes(i.Name).Delete
End If
End If
Next i
Range("A:A").UnMerge
Range("N:N").ClearContents
Rows.RowHeight = 15
dip = Cells(Rows.Count, "C").End(3).Row
Range("A2:M" & dip).Borders.LineStyle = xlNone
Range("N2").FormulaLocal = "=EĞERSAY($C$2:$C$" & dip & ";C2)"
Range("N2:N" & dip).FillDown
For a = 2 To Range("C65536").End(3).Row
If Not Evn.exists(Cells(a, 3).Value) Then
Randomize
If Cells(a, "N") = 1 Then
Rows(son + 1 & ":" & son + 1).RowHeight = 90 / Cells(son + 1, "N").Value
End If
If son <> Empty Then
If son > 1 And Cells(ilk, "N").Value <> 1 Then
Range("A" & ilk & ":A" & son).Merge
Rows(ilk & ":" & son).RowHeight = 90 / Cells(ilk, "N").Value
End If
End If
ilk = a
Evn.Add Cells(a, 3).Value, 1
Else
son = a
End If
Next a
Range("A2:M" & dip).Borders.LineStyle = 1
For i = 2 To Range("B65536").End(3).Row
For Each resim In fso.getfolder(ThisWorkbook.Path & "/resim").Files
foto = Split(resim.Name, " ")(0)
If Cells(i, "B").RowHeight > 0 Then
If Split(Cells(i, "C").Value, " ")(0) = foto Then
c = c + 1
Cells(i, "O").Value = "OK"
Set fotom = ActiveSheet.Pictures.Insert(CStr(resim))
With fotom
.ShapeRange.LockAspectRatio = msoFalse
.Width = Cells(i, "A").Width
.Height = Range("A" & i & ":A" & (i + Cells(i, "N").Value) - 1).Height
.Top = Rows(Cells(i, 1).Row).Top
.Left = Columns(Cells(i, 1).Column).Left
.Placement = xlFreeFloating
End With
i = i + Cells(i, "N").Value - 1
Exit For
End If
End If
Next resim
10 Next i
Range("N:O").Clear
Application.EnableEvents = True
Application.ScreenUpdating = True
i = Empty: Set Evn = Nothing
End Sub
Sub Resim_Ekle()
Application.Volatile
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim fso As Object, Evn As Object, renk As Byte, mypicture As Shape
Set Evn = CreateObject("Scripting.Dictionary")
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For Each i In ActiveSheet.Shapes
If i.Name <> "Picture 22" Then
If i.Name Like "Pic*" Then
ActiveSheet.Shapes(i.Name).Delete
End If
End If
Next i
Range("A:A").UnMerge
Range("N:N").ClearContents
Rows.RowHeight = 15
dip = Cells(Rows.Count, "C").End(3).Row
Range("A2:M" & dip).Borders.LineStyle = xlNone
Range("N2").FormulaLocal = "=EĞERSAY($C$2:$C$" & dip & ";C2)"
Range("N2:N" & dip).FillDown
For a = 2 To Range("C65536").End(3).Row
If Not Evn.exists(Cells(a, 3).Value) Then
Randomize
If Cells(a, "N") = 1 Then
Rows(son + 1 & ":" & son + 1).RowHeight = 90 / Cells(son + 1, "N").Value
End If
If son <> Empty Then
If son > 1 And Cells(ilk, "N").Value <> 1 Then
Range("A" & ilk & ":A" & son).Merge
Rows(ilk & ":" & son).RowHeight = 90 / Cells(ilk, "N").Value
End If
End If
ilk = a
Evn.Add Cells(a, 3).Value, 1
Else
son = a
End If
Next a
Range("A2:M" & dip).Borders.LineStyle = 1
For i = 2 To Range("B65536").End(3).Row
For Each resim In fso.getfolder(ThisWorkbook.Path & "/resim").Files
foto = Split(resim.Name, " ")(0)
If Cells(i, "B").RowHeight > 0 Then
If Split(Cells(i, "C").Value, " ")(0) = foto Then
c = c + 1
Cells(i, "O").Value = "OK"
Set fotom = ActiveSheet.Pictures.Insert(CStr(resim))
With fotom
.ShapeRange.LockAspectRatio = msoFalse
.Width = Cells(i, "A").Width
.Height = Range("A" & i & ":A" & (i + Cells(i, "N").Value) - 1).Height
.Top = Rows(Cells(i, 1).Row).Top
.Left = Columns(Cells(i, 1).Column).Left
.Placement = xlFreeFloating
End With
i = i + Cells(i, "N").Value - 1
Exit For
End If
End If
Next resim
10 Next i
Range("N:O").Clear
Application.EnableEvents = True
Application.ScreenUpdating = True
i = Empty: Set Evn = Nothing
End Sub