Sadece belli hücrelerdeki resimleri silmek için makro

Katılım
24 Ağustos 2010
Mesajlar
8
Excel Vers. ve Dili
Excel 2007
Merhabalar,
Aşağıdaki makro çalışma sayfasındaki bütün resimleri siliyor.

Kod:
Sub Resimleri_sil()
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub
Sadece A10:B20 arasındakileri silmesini istiyorum. Bir kaç deneme yaptım ama başarısız oldu.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Dosyanızı siteye ekleyin, herkes açamayabilir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu kullanabilirsiniz. Aşağıdaki bölüme silmek istediğiniz hücre aralığını yazın.

Set Alan = Range("B11:D20")

C++:
Option Explicit

Sub Belirli_Bir_Alandaki_Resimleri_Sil()
    Dim Resim As Picture, Alan As Range
   
    Set Alan = Range("B11:D20")
   
    For Each Resim In ActiveSheet.Pictures
        If Not Intersect(Resim.TopLeftCell, Alan) Is Nothing Then
            Resim.Delete
        End If
    Next
   
    Set Alan = Nothing
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Korhan Bey kod için teşekkürler.
 
Son düzenleme:
Katılım
13 Şubat 2018
Mesajlar
7
Excel Vers. ve Dili
excell 2019
merhaba arkadaslar linkinini paylastigim videoda tum resimlerin degil sadece sizin belirlemis oldugunuz hucre araligindaki resimlerin silinmesi ve sizin belirlediginiz resimlerin duseyara yardimiyla getirilmesini saglayabilirsiniz umarim isinize yarar videoyu izlemenizi tavsiye ederim
 

Hoksisamuray1

Enes Kolbaş
Katılım
30 Mayıs 2012
Mesajlar
39
Excel Vers. ve Dili
Office 365
Üstad bunu word de nasıl yapabılırım sayfanın altınfakı logo ve logonun ustundeki yazıyı sılmek ıstıyorum
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Konuyla ilgili örnek bir word dosyası paylaşırmısınız.
 

Hoksisamuray1

Enes Kolbaş
Katılım
30 Mayıs 2012
Mesajlar
39
Excel Vers. ve Dili
Office 365
Üstad altın üyeliğim olmadıgı için dosya paylaşamıyorum. Aslında istediğim şu bir word sayfam var. Sayfanın basında bir resım ortasında bır fırma logosu en alt kısımda da raporu aldıgım fırmanın logosu var. Ben bunlar 3'cüsü olan raporu aldıgım firmanın logosunu makro ile silmek istiyorum. image olarak bu resimleri silmek için bir isim olmadıgından yapamadım. Sayfadaki ilk iki imajı atla 3'cüsünü sil gibi bir sey yapılabilir mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın üyeliği olmayan üyelerimiz harici dosya barındırma sitelerini kullanarak paylaşımda bulunabiliyorlar.
 

Hoksisamuray1

Enes Kolbaş
Katılım
30 Mayıs 2012
Mesajlar
39
Excel Vers. ve Dili
Office 365
Altın üyeliği olmayan üyelerimiz harici dosya barındırma sitelerini kullanarak paylaşımda bulunabiliyorlar.
ok üstad link ektedir. Silinmesi gereken logo NextGeo yazan logodur. Açılışta çalısan makrolarım var. En son bu image'ıda silip kaydetsin istiyorum. Bir bu resim kaldı silemediğim.
Ornek Dosya
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Picture_Delete()
    Dim My_Picture As InlineShape, Count_Picture As Long

    For Each My_Picture In ActiveDocument.InlineShapes
        Count_Picture = Count_Picture + 1
        If Count_Picture = 2 Then My_Picture.Delete: Exit For
    Next
End Sub
 

Hoksisamuray1

Enes Kolbaş
Katılım
30 Mayıs 2012
Mesajlar
39
Excel Vers. ve Dili
Office 365
Deneyiniz.

C++:
Option Explicit

Sub Picture_Delete()
    Dim My_Picture As InlineShape, Count_Picture As Long

    For Each My_Picture In ActiveDocument.InlineShapes
        Count_Picture = Count_Picture + 1
        If Count_Picture = 2 Then My_Picture.Delete: Exit For
    Next
End Sub
Üstad eline sağlık cok güzel oldu..

Son bir sorum ekli makroda ben sana göndermiş oldugum dosyaya 2'ci firmanın logosunu C'nin içindeki klasorden ekliyorum. ilgili logo yerine o klasorden farklı logoyu almak istediğimde bunu secenek olarak sordurabilirmiyiz?


Sub Logo_Duzenleme()
Dim logoX As Shape
ayarlandi = False
For Each c In ActiveDocument.CustomDocumentProperties
If c.Name = "logoeklendi" Then ayarlandi = True
Next c
If Not ayarlandi Then
Set logoX = Selection.InlineShapes.AddPicture(FileName:= _
"c:\pi\ISOlogo\iso9000km.jpg", LinkToFile:=False, SaveWithDocument:=True).ConvertToShape
Rem burada isologosunun ebatını %65 küçültüyoruz, siz isterseniz logoyu paintle küçütün, bu iki komutu kullanmayın
logoX.ScaleHeight 1, msoTrue
logoX.ScaleWidth 1, msoTrue
Rem burada iso logosunun yerini ayarlıyoruz, soldan 20, üstten 15 nokta içeride
logoX.Left = 20
logoX.Top = 480
Set logoX = Selection.InlineShapes.AddPicture(FileName:= _
"c:\pi\ISOlogo\tkgm-logok.jpg", LinkToFile:=False, SaveWithDocument:=True).ConvertToShape
Rem burada tkgm logosunun yerini ayarlıyoruz, sayfa genişliğinden 70 nokta önce ve tepeden 10 nokta aşağıda
logoX.Left = 317
logoX.Top = 375
Rem Dosya-Özellikler menüsünde “Özel” bölümünde ‘logoeklendi’ diye bir değer var, logoları tekrar eklemeniz
Rem gerekirse bu değeri silmelisiniz
ActiveDocument.CustomDocumentProperties.Add Name:="logoeklendi", LinkToContent:=False, Value:=True, _
Type:=msoPropertyTypeBoolean
Else
'MsgBox "zaten eklenmiş"
End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kod yapısını kendi kodlarınıza entegre edebilirsiniz.

C++:
Option Explicit

Sub Insert_Picture()
    Dim My_File_Browser As FileDialog, My_File As String
    
    Set My_File_Browser = Application.FileDialog(msoFileDialogFilePicker)
    
    With My_File_Browser
        .Title = "Lütfen Eklemek İstediğiniz Resim Dosyasını Seçiniz..."
        .Filters.Clear
        .Filters.Add "Resim Dosyaları", "*.jpg;*.jpeg;*.png;*.gif"
        .InitialFileName = "C:\"
        If .Show = -1 Then
            My_File = .SelectedItems(1)
        End If
    End With
    
    If My_File <> "" Then
        ActiveDocument.Shapes.AddPicture _
        FileName:=My_File, _
        LinkToFile:=False, _
        SaveWithDocument:=True, _
        Left:=100, Top:=100, Width:=200, Height:=200
    End If
End Sub
 

Hoksisamuray1

Enes Kolbaş
Katılım
30 Mayıs 2012
Mesajlar
39
Excel Vers. ve Dili
Office 365
Aşağıdaki kod yapısını kendi kodlarınıza entegre edebilirsiniz.

C++:
Option Explicit

Sub Insert_Picture()
    Dim My_File_Browser As FileDialog, My_File As String
   
    Set My_File_Browser = Application.FileDialog(msoFileDialogFilePicker)
   
    With My_File_Browser
        .Title = "Lütfen Eklemek İstediğiniz Resim Dosyasını Seçiniz..."
        .Filters.Clear
        .Filters.Add "Resim Dosyaları", "*.jpg;*.jpeg;*.png;*.gif"
        .InitialFileName = "C:\"
        If .Show = -1 Then
            My_File = .SelectedItems(1)
        End If
    End With
   
    If My_File <> "" Then
        ActiveDocument.Shapes.AddPicture _
        FileName:=My_File, _
        LinkToFile:=False, _
        SaveWithDocument:=True, _
        Left:=100, Top:=100, Width:=200, Height:=200
    End If
End Sub
Ustad bu sabah pc geldıgımde rstart yapmıstı. Word de calısmıs oldugum pernonel makroların olmadıgını gordum. Calısmıs oldugum modullere ulasma sansım varmı acaba teknık olarak?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sisteminiz otomatik yedekleme yapmış olabilir. Kontrol etmenizde fayda var.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosya-Seçenekler menüsünde KAYDET bölümü var. Oraya tıkladığınızda kurtarma yolu tanımlıdır. O klasöre ulaşıp kontrol edebilirsiniz.

Not : Profilinizde 2005 Office kullandığınız yazıyor. Gerçekten böyle bir sürüm var mı? Yoksa güncellemeniz size verilecek cevaplarda fayda sağlayacaktır.
 
Üst