• DİKKAT

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

Dosyamı Kapatırken Then Exit Sub Olmasını Nasıl Sağlarım

  • Konbuyu başlatan Konbuyu başlatan betoncu
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Aralık 2005
Mesajlar
376
Excel Vers. ve Dili
EXCEL 2002
TÜRKÇE
Hazırladığım kodun Excel dosyamı kapatırken devre dışı olmasını istiyorum.

Bunu şu mantıkla çözmeye çalıştım ama hata veriyor:

If ActiveWorkbook.Close Then Exit Sub

Yukarıdaki kodda nerde hata yapıyorum yardım edermisiniz?
 
Arkadaşlar yardımlarınızı bekliyorum...
 
Eklediğim örnek dosyada herhangi bir hücreye tıklayınca satır renkleniyor. Başka bir hücreye tıklanınca daha önce renklenen satır eski haline dönüyor. Problemin başladığı nokta dosyayı kapattığımda hücrenin bulunduğu satır kalıcı olarak renkleniyor.
Bunu iptal etmek istiyorum. Bunu da dosyayı kapattığımda kodun devre dışı olmasıyla olabileceğini düşünüyorum.
Bu aşamada,
If ActiveWorkbook.Close Then Exit Sub
gibi bir kod denemek istedim olmadı.

Yardımlarınızı bekliyorum...
 

Ekli dosyalar

Bu durum oldukça karışık kod her harekette kısır döngüye giriyor.

Bu kodu ThisWorkbook 'un kod bölümüne koyup deneyin


kod.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
For i = 1 To 256
If Cells(ActiveCell.Row, i).Interior.ColorIndex = 22 Then
Cells(ActiveCell.Row, i).Interior.ColorIndex = xlNone
End If
Next i
Application.ScreenUpdating = True
End Sub
 
Bu durum oldukça karışık kod her harekette kısır döngüye giriyor.

Bu kodu ThisWorkbook 'un kod bölümüne koyup deneyin


kod.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
For i = 1 To 256
If Cells(ActiveCell.Row, i).Interior.ColorIndex = 22 Then
Cells(ActiveCell.Row, i).Interior.ColorIndex = xlNone
End If
Next i
Application.ScreenUpdating = True
End Sub

Halit bey bu kodu uyglarsak da renklenen satırdaki herhangi bir hücrede daha önceden dolgu rengi kullanılmışsa dosya kapanırken bu dolgu rengide siliniyor.
Eski dolgu renklerini silmeden yapamazmıyız?
 
Halit bey,
If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub

satırındaki gibi bir kod uygulayamazmıyız.

If ActiveWorkbook.Close Then Exit Sub kod satırında yaptığım hata nedir?
 
Halit bey,
If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub

satırındaki gibi bir kod uygulayamazmıyız.

If ActiveWorkbook.Close Then Exit Sub kod satırında yaptığım hata nedir?

İmlecin her hareketinde kod çalışıyor kod çalışırken bir önceki hareketi aklında tutuyor ve sonraki hareketede uyguluyor.

Dosyayı kapatınca kodlar çalışmıyacağından tekrar açılınca önceki kareketi de olmuyacağından bu uygulama bu yöntemle olmaz.

En iyisi dosyayı kapatınca ilgili renklerin silinmesi.
 
Halit bey, yardımlarınız için teşekkür ederim ..
 
Geri
Üst