• DİKKAT

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

Soru Temizleme makrosunun güncellenmesi

  • Konbuyu başlatan Konbuyu başlatan teyadih
  • Başlangıç tarihi Başlangıç tarihi
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Merhaba arkadaşlar. Ekli dosyada da açıkladığım üzere kullandığım ve temizleme düğmesine tıkladığımda evet seçili olarak gelen 3 adet temizleme makrosunun hayır seçili gelmesinin sağlanması ile mevcut 3 makro yerine tek bir makro yazılması talebime ilişkin örnek dosyayı gönderiyorum. Teşekkür ederim..
 

Ekli dosyalar

Merhaba deneyiniz..

Kod:
Sub TEMIZLE()
    cvp1 = MsgBox("sütunlardaki veriler" & vbLf & "" & vbLf & "TEMİZLENSİN Mİ?", vbOKOnly + vbYesNo + vbDefaultButton2 + vbCritical, "UYARI")
    
    If cvp1 = vbYes Then
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        
        ThisWorkbook.Sheets("İnceleme").Range("AA6:AB5000, AE6:AF5000").ClearContents
        ThisWorkbook.Sheets("Uygulama").Range("J12:M" & Rows.Count).ClearContents
        ThisWorkbook.Sheets("Sözlü Notları").Range("E12:I613, L12:O613, R12:U613").ClearContents
        
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
        MsgBox "Veriler SİLİNDİ..", vbInformation
    Else
        MsgBox "Veriler silinmedi.", vbInformation
    End If
End Sub
 
Aşağıdaki makroyu deneyin. Makrodaki vbDefaultButton2 ifadesi seçili düğme ayarıyla ilgilidir:

PHP:
Sub Tumunu_Temizle()
cvp1 = MsgBox("İnceleme sayfasındaki AA-AB-AE-AF Sütunları," & vbLf & "" & vbLf & _
    "Sözlü Notları Sayfasındaki F-I ile L-O ve R-U Arasındaki Sütunlar," & "" & vbLf & vbLf & _
    "Uygulama Sayfasındaki J, K, L ve M sütunlarındaki veriler" & vbLf & "" & vbLf & _
    "Temizlenecek." & vbLf & "" & vbLf & _
    "TEMİZLENSİN Mİ?", vbOKOnly + vbYesNo + vbCritical + vbDefaultButton2, "UYARI")
If cvp1 = vbYes Then
    ThisWorkbook.Sheets("İnceleme").Range("AA6:AB5000, AE6:AF5000").ClearContents
    ThisWorkbook.Sheets("Sözlü Notları").Range("E12:I613, L12:O613, R12:U613").ClearContents
    Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
            ActiveSheet.Range("J12:M" & Rows.Count).ClearContents
        Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

    MsgBox "Veriler SİLİNDİ..", vbInformation
Else: MsgBox "Veriler silinmedi.", vbInformation
End If
End Sub
 
Teşekkür ederim Yusuf bey inceleyip dönüş yapacağım
 
Teşekkür ederim Yusuf bey elinize sağlık. Formül tamamdır.
 
Teşekkür ederim EmrExcel16. Kusura bakmayın size atlamışım. şimdi fark ettim.
 
Merhaba arkadaşlar. EmrExcel16 ile YUSUF44 tarafından hazırlanan makroları uyguladım çalıştı. Ancak veri girilmemesi gereken yerleri korumak için sayfa koruması yaptığımda degup hatası verdi her ikisinde de. Degup hatası vermeyecek şekilde güncelleyebilir miyiz makroları.
 

Ekli dosyalar

Kodda temizleme işlemine başlamadan önce

ActiveSheet.Unporotect "Şifreniz"

Satırını ekleyip (tırnak içinde şifreyi yazmanız gerekiyor) End sub satırından önce de

Activesheet.Protect "Şifreniz"

satırını ekleyerek deneyin.
 
Eğer şifresiz sayfa koruması varsa aşağıdaki gibi kullanabilirsiniz. Eğer şifreleri varsa Yusuf Bey'in belirtiği gibi "Unprotect" ve "Protect" yazan yerlerin yanına tırnak içinde şifrelerinizi yazabilirsiniz..

Kod:
Sub TEMIZLE()
    cvp1 = MsgBox("sütunlardaki veriler" & vbLf & "" & vbLf & "TEMİZLENSİN Mİ?", vbOKOnly + vbYesNo + vbDefaultButton2 + vbCritical, "UYARI")
    Set S1 = Sheets("İnceleme"): Set S2 = Sheets("Uygulama"): Set S3 = Sheets("Sözlü Notları"): Set s4 = ActiveSheet
    S1.Unprotect "7895123": S2.Unprotect "7895123": S3.Unprotect "7895123"
    If cvp1 = vbYes Then
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
     
        S1.Range("AA6:AB5000, AE6:AF5000").ClearContents
        S2.Range("J12:M" & Rows.Count).ClearContents
        S3.Range("E12:I613, L12:O613, R12:U613").ClearContents
     
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
        s4.Select
        MsgBox "Veriler SİLİNDİ..", vbInformation
    Else
        MsgBox "Veriler silinmedi.", vbInformation
    End If
    S1.Protect "7895123": S2.Protect "7895123": S3.Protect "7895123"
End Sub
 
Son düzenleme:
Verdiğim #9 numaralı mesajımdaki kodlarda sayfa isimlerinde sıkıntı yaşamış olabilirsiniz, tekrar düzenledim.
 
235393
Bu şekilde yaptığımda yazılar kırmızı renk oldu sayın EmrExcel16. Nerede hata yapıyorum acaba?
 
235394
Kodda temizleme işlemine başlamadan önce

ActiveSheet.Unporotect "Şifreniz"

Satırını ekleyip (tırnak içinde şifreyi yazmanız gerekiyor) End sub satırından önce de

Activesheet.Protect "Şifreniz"

satırını ekleyerek deneyin.
Dediğiniz gibi yaptım ama olmadı maalesef sayın YUSUF44. Üstteki formülü 1.satırdaki cvp1 olan yere MsgBox olan yerin üstüne de aldım ama olmadı. Makro bilgim pek olmadığı için yapmadım bir türlü
 
Formül tamam sayın EmrExcel16 teşekkür ederim. Ben sondaki Unporotect ve Protect yazılarından sonra : koymuştum.
 
Geri
Üst