• DİKKAT

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

Satır sayısı eşit değilse kaydetmeye izin verme

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Excel de A sutunundaki verinin B sutundaki satır boşsa dosyayı kaydetmeye izin vermesin
Bu kodu nasıl yazabilirim.
 

Ekli dosyalar

Dosyanızda bununla ilgili bir kod bulunuyor.
 
Workbook before save olayını denediniz mi?
 
Dosyadaki kot eşit olmasada kaydediyor.
Başka bir çözümü varmıdır
 
Buradaki sorun nedir? Ben anlayamadım.
 
Kaydet butouna basınca ve CTR+S tuşuna basınca Dosya A sutundaki veri olan satırın b sutunda veri yoksa dosya kaydetmeyi durdursun istiyorum.
Mecvut kodlar katdetmeyi durdurmuyor. Kaydediyor. Dosyayı katıp açtığında kaydettiğini görebilirsiniz
 
Eklediğiniz dosyada A ve B sütunlarında 5 adet veri var. Bu durumda kaydetmesi normal değil mi?

Bütün hücrelerin karşılığında veri var.
 
B sutundan birini silince kaydete bastığımda uyarı veriyor ama kaydediyor.
Dosyayı kapatıp açınca silinmiş olarak kaydedilmiş hgeliyor karşımıza
 
Aşağıdaki kodları deneyiniz.

Boş bir modüle;

Kod:
Option Explicit
Public Kaydet As Boolean

Sub Kontrol()
    Dim S1 As Worksheet, Say_A As Long, Say_B As Long

    Set S1 = Sheets("Sheet1")
    Say_A = WorksheetFunction.CountA(S1.Range("A:A"))
    Say_B = WorksheetFunction.CountA(S1.Range("B:B"))
    Kaydet = False
    
    If Say_A <> Say_B Then
        MsgBox "A sütunu ile B sütunu verileri eşit değil!", vbCritical, "DİKKAT"
        Kaydet = True
        Exit Sub
    End If
End Sub

THISWORKBOOK (BUÇALIŞMAKİTABI) bölümüne;

Kod:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Kontrol
    Cancel = Kaydet
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Call Kontrol
    Cancel = Kaydet
End Sub
 
örnek dosyayı inceleyiniz.
A sütununda DEL tuşuna basın,
 

Ekli dosyalar

Korhan bey cevabını için teşekkürler.
Kodları dediğiniz gibi yapıştırdıım.
Uyarıdan sonra kaydetme işlemi devam ediyor.
ile yapmaya çalıştım Cancel = true bu dosyada hataya düşüyor.
Bunun için referansmı eksik diğer dosyalarımda kapatmayı engellemek için kullanabiliyorum.
 
systran hacam dosya için teşekkürler benim istediğim tam olarak bu değil a sutunun sabit kalıp b sutununda eksik veri varsa doldurmaya zormala ve kaydettirmeme.
 
Kodlara küçük bir ilave yaptım. Tekrar deneyiniz.
 
Geri
Üst