• DİKKAT

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

Makro ile, Korumalı olmayan hücrelerin içeriğini silmek.

Katılım
29 Temmuz 2010
Mesajlar
1
Excel Vers. ve Dili
OFFICE 2007 TÜRKÇE
Merhaba Arkadaşlar;

Korumalı bir excel sayfasında korumalı olmayan, hücrelerin tümünün içinindeki veriyi silecek bir makro lazım. Yardımcı olabilirseniz memnun olurum. Ben şöyle bir kod yazdım fakat Range("A1: D20") yazan yere Range("A:Z") yazdığımda çok uzun zaman alıyor.

For Each vcells In Worksheets.Application.ActiveSheet.Range("A1: D20")
Debug.Print sf
If vcells.Locked = False Then
vcells.Value = ""
End If
Next vcells

Sadece kilitli olmayan hücreleri dönecek bir düngü kurabilirmiyiz. Şimdiden yardımınız için teşekkür ederim.
 
Selamlar,

Forumumuza hoşgeldiniz.

Bildiğim kadarıyla tek bir hamlede silebileceğimiz bir kod yok. Aşağıdaki kodu deneyiniz.

Kod:
Option Explicit
 
Sub KİLİTLİ_OLMAYAN_HÜCRELERİ_TEMİZLE()
    Dim HÜCRE As Range
    
    For Each HÜCRE In ActiveSheet.UsedRange
        If Not HÜCRE.Locked = True Then
            HÜCRE.Value = ""
        End If
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
iyi günler korhan bey çok güzel bir örnek emeğinize sağlık ancak bu bir sayfada işlem yapıyor galiba bunu bir kaç sayfada da yaptıra bilirmiisniz
 
Selamlar,

Sn. mustafakoza tüm sayfalarda bu işlemi yapmak için aşağıdaki kodu kullanabilirsiniz.

Kod:
Option Explicit
 
Sub TÜM_SAYFALARDA_KİLİTLİ_OLMAYAN_HÜCRELERİ_TEMİZLE()
    Dim SAYFA As Worksheet, HÜCRE As Range
    
    For Each SAYFA In ThisWorkbook.Worksheets
        For Each HÜCRE In SAYFA.UsedRange
            If Not HÜCRE.Locked = True Then
                HÜCRE.Value = ""
            End If
        Next
    Next
        
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
korhan bey ilginiz için teşşekkür ederim ancak 2. mesajdaki koda tek sayfa 4. mesajdaki kod büütn sayfalar için ancak şu şekilde bir sorunvar diyelimki 5 sayfalır bir çalışma var için den belli sayfalrı sildirmek istediğimizde nasıl olacak bir kodda hepsini kapsayacak mantık olsa bu mümkünmüdür
 
Selamlar,

Sn. mustafakoza,

Kod üzerinde bu tür küçük eklentileri sizlerin yapabileceğini düşünüyorum. Forumda bu tarz kodlar oldukça fazla miktarda bulunuyor. İncelerseniz çok zor olmadığını görürsünüz.

Çalışmadaki belli sayfalarda bu işlem yapılacaksa bu sayfaların isimlerini küçük bir if sorgusu içine alarak işlemi yapabilirsiniz.

Kod:
Option Explicit
 
Sub İSTEDİĞİM_SAYFALARDA_KİLİTLİ_OLMAYAN_HÜCRELERİ_TEMİZLE()
    Dim SAYFA As Worksheet, HÜCRE As Range
 
    For Each SAYFA In ThisWorkbook.Worksheets
[COLOR=red]       If SAYFA.Name = "Sayfa1" Or SAYFA.Name = "Sayfa2" Or SAYFA.Name = "Sayfa3" Then[/COLOR]
            For Each HÜCRE In SAYFA.UsedRange
                If Not HÜCRE.Locked = True Then
                    HÜCRE.Value = ""
                End If
            Next
       [COLOR=red]End If[/COLOR]
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
korhan bey çok teşekkür ederim
 
Geri
Üst