Soru Temizleme makrosunun güncellenmesi

Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
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

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
Teşekkür ederim Yusuf bey inceleyip dönüş yapacağım
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
Teşekkür ederim Yusuf bey elinize sağlık. Formül tamamdır.
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
Teşekkür ederim EmrExcel16. Kusura bakmayın size atlamışım. şimdi fark ettim.
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
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:
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
Merhaba sayın @EmrExcel16 ve sayın @YUSUF44 dediğiniz gibi yardımda alarak uyguladım ama olmadı maalesef.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Verdiğim #9 numaralı mesajımdaki kodlarda sayfa isimlerinde sıkıntı yaşamış olabilirsiniz, tekrar düzenledim.
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
235393
Bu şekilde yaptığımda yazılar kırmızı renk oldu sayın EmrExcel16. Nerede hata yapıyorum acaba?
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
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ü
 
Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Altın Üyelik Bitiş Tarihi
18/10/2022
Formül tamam sayın EmrExcel16 teşekkür ederim. Ben sondaki Unporotect ve Protect yazılarından sonra : koymuştum.
 
Üst