• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
Dosyanızı siteye ekleyin, herkes açamayabilir.
 
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
 
Korhan Bey kod için teşekkürler.
 
Son düzenleme:
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
 
Üstad bunu word de nasıl yapabılırım sayfanın altınfakı logo ve logonun ustundeki yazıyı sılmek ıstıyorum
 
Merhaba,

Konuyla ilgili örnek bir word dosyası paylaşırmısınız.
 
Ü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?
 
Altın üyeliği olmayan üyelerimiz harici dosya barındırma sitelerini kullanarak paylaşımda bulunabiliyorlar.
 
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
 
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
 
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
 
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?
 
Sisteminiz otomatik yedekleme yapmış olabilir. Kontrol etmenizde fayda var.
 
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.
 
Geri
Üst