X işaretini devre dışı bırakma

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

X işaretini devre dışı bırakma

İleti#1)  serif_07 » 25 Haz 2020 16:19

Arkadaşlar merhaba.

Bir excel tablom var. Bu tablodan her çıkışta belirlediğim klasöre örnek veriyorum D:\Yedek\Aydın\Haziran yoluna yedeklemesini istiyorum. Bunu makro kullanarak yapıyorum fakat X işareti ile çıkınca bu yedeklemeyi yapmıyor. Diğer kullanıcıları bu buton üzerinden kapatmaya zorlamak için "X" işaretini devre dışı bırakmam gerekiyor bunu nasıl yapabilirim?

yedeklemede kullandığım kodlar bu şekilde

Kod: Tümünü seç
Sub Auto_close()
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Dim Yedek_Dosya_Adı As String, Kayıt_Yeri As String
yer = "D:\MANEVRA KAYIT YEDEK\AYDIN\" & Format(Date, "mmmm") & "\"
For i = 1 To Len(ThisWorkbook.Name)
If Mid(ThisWorkbook.Name, i, 1) = "." Then
Dosya = Mid(ThisWorkbook.Name, 1, i - 1)
uzanti = Mid(ThisWorkbook.Name, i, Len(ThisWorkbook.Name))
End If
Next
ActiveWorkbook.Save
Application.DisplayAlerts = False
Yedek_Dosya_Adı = Dosya & Format(Now, " dd_mm_yyyy_hh_mm") & uzanti
Kayıt_Yeri = yer & Yedek_Dosya_Adı
On Error Resume Next
If Dir(yer) = "" Then MkDir yer
On Error Resume Next
DosyaSistemi.CopyFile ThisWorkbook.FullName, Kayıt_Yeri
ActiveWorkbook.Password = ""
Application.DisplayAlerts = True
Application.Quit
End Sub
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#2)  Miraç CAN » 25 Haz 2020 16:34

ThisWorkbook bölümü Workbook_BeforeClose olayına yazın kodlarınızı
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#3)  serif_07 » 25 Haz 2020 17:11

Miraç CAN yazdı:ThisWorkbook bölümü Workbook_BeforeClose olayına yazın kodlarınızı


Sayın Miraç CAN biraz açar mısın pek bilgim yok :)
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#4)  serif_07 » 25 Haz 2020 17:34

Kod: Tümünü seç
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Kapat Butonu Devre Dışıdır"
Cancel = True
End Sub


bunu deniyorum ama işe yaramıyor
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#5)  abazya » 25 Haz 2020 17:49

Miraç CAN yazdı:ThisWorkbook bölümü Workbook_BeforeClose olayına yazın kodlarınızı

Excel dosyasına resim olarak ekledim.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
BAŞKALRINDAN ÜSTÜN OLMAKTA HERHANGİ BİR ASALET YOKTUR; ASIL ASALET ESKİSİNDEN ÜSTÜN OLMAKTIR...
Kullanıcı avatarı
abazya
Yeni Başlamış
 
Adı Soyadı:Feridun ATABAY
Kayıt: 03 Arl 2008 08:52
Konum: Burası
Meslek: Boşta gezer
Yaş: 60
İleti: 35
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ESKİŞEHİR

Cevap: X işaretini devre dışı bırakma

İleti#6)  abazya » 25 Haz 2020 18:56

Bunu deneyin.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If KONTROL = False Then
Cancel = True
MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
End If
End Sub
BAŞKALRINDAN ÜSTÜN OLMAKTA HERHANGİ BİR ASALET YOKTUR; ASIL ASALET ESKİSİNDEN ÜSTÜN OLMAKTIR...
Kullanıcı avatarı
abazya
Yeni Başlamış
 
Adı Soyadı:Feridun ATABAY
Kayıt: 03 Arl 2008 08:52
Konum: Burası
Meslek: Boşta gezer
Yaş: 60
İleti: 35
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ESKİŞEHİR

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: X işaretini devre dışı bırakma

İleti#7)  erseldemirel2 » 25 Haz 2020 19:43

X ile çıkış engelleme

Kod: Tümünü seç
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Sadece Formdaki Butonları Kullanınız!", vbInformation, "Dikkat!"
Cancel = True
End If
End Sub
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 847
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: X işaretini devre dışı bırakma

İleti#8)  serif_07 » 25 Haz 2020 20:03

aşağıdaki dosyadaki şekilde ekledim yine çıkış yapıyor
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#9)  serif_07 » 25 Haz 2020 20:05

abazya yazdı:Bunu deneyin.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If KONTROL = False Then
Cancel = True
MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
End If
End Sub


denedim bu da olmadı :(
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#10)  serif_07 » 25 Haz 2020 20:06

erseldemirel2 yazdı:X ile çıkış engelleme

Kod: Tümünü seç
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Sadece Formdaki Butonları Kullanınız!", vbInformation, "Dikkat!"
Cancel = True
End If
End Sub


bu userform daki "X" çıkışını engelleme sanırım ben komple çalışma kitabını engellemek istiyorum
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#11)  abazya » 25 Haz 2020 20:49

Buçalışmakitabı + Workbook_BeforeClose içindeki.
Kod sayfasında kodları aktifet ( yani kodların başındaki tırnakları kaldır). Kaydet, kapat bakalım, kapanacak mı?

'If KONTROL = False Then
'Cancel = True
'MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
'End If
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
BAŞKALRINDAN ÜSTÜN OLMAKTA HERHANGİ BİR ASALET YOKTUR; ASIL ASALET ESKİSİNDEN ÜSTÜN OLMAKTIR...
Kullanıcı avatarı
abazya
Yeni Başlamış
 
Adı Soyadı:Feridun ATABAY
Kayıt: 03 Arl 2008 08:52
Konum: Burası
Meslek: Boşta gezer
Yaş: 60
İleti: 35
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ESKİŞEHİR

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#12)  serif_07 » 25 Haz 2020 21:05

abazya yazdı:Buçalışmakitabı + Workbook_BeforeClose içindeki.
Kod sayfasında kodları aktifet ( yani kodların başındaki tırnakları kaldır). Kaydet, kapat bakalım, kapanacak mı?

'If KONTROL = False Then
'Cancel = True
'MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
'End If


Private Sub Workbook_BeforeClose(Cancel As Boolean)
If KONTROL = False Then
Cancel = True
MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
End If

End Sub


bu şekilde oldu çok teşekkür ederim
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#13)  serif_07 » 25 Haz 2020 21:17

nedendir bilmiyorum ama sizin gönderdiğiniz dosya haricinde başka bir çalışma kitabına denediğimde yine çalışmıyor
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#14)  abazya » 25 Haz 2020 21:59

Bir yerde bir şeyleri yanlış oluyor! Nedir, bende anlamadım. Senin kodların ile beraber bir dosya yapıp göndereyim istedim olmadı! Benim gönderdiğim kodları pasif etmezsen senin kodlar çalışamıyor.
Versiyon farkı olabilir mi ? Bilmiyorum...!
Benden bu kadar sana kolay gelsin..
BAŞKALRINDAN ÜSTÜN OLMAKTA HERHANGİ BİR ASALET YOKTUR; ASIL ASALET ESKİSİNDEN ÜSTÜN OLMAKTIR...
Kullanıcı avatarı
abazya
Yeni Başlamış
 
Adı Soyadı:Feridun ATABAY
Kayıt: 03 Arl 2008 08:52
Konum: Burası
Meslek: Boşta gezer
Yaş: 60
İleti: 35
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ESKİŞEHİR

Cevap: X işaretini devre dışı bırakma

İleti#15)  erseldemirel2 » 25 Haz 2020 22:17

Kitap kod kısmına

Kod: Tümünü seç
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not Ok2Close
End Sub


module de

Kod: Tümünü seç
Public Ok2Close As Boolean
Sub CloseMacro()
Ok2Close = True
ThisWorkbook.Close
Application.Quit
Ok2Close = False
End Sub


yaparsanız kitap kapanmaz
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 847
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Cevap: X işaretini devre dışı bırakma

İleti#16)  serif_07 » 25 Haz 2020 22:57

abazya yazdı:Bir yerde bir şeyleri yanlış oluyor! Nedir, bende anlamadım. Senin kodların ile beraber bir dosya yapıp göndereyim istedim olmadı! Benim gönderdiğim kodları pasif etmezsen senin kodlar çalışamıyor.
Versiyon farkı olabilir mi ? Bilmiyorum...!
Benden bu kadar sana kolay gelsin..


tamam sorun benden kaynaklı imiş. kodları sayfa1'in kod kısmına eklemişim. Bu çalışma kitabı kısmına ekleyince çalıştı. Elinize sağlık teşekkür ederim
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#17)  serif_07 » 25 Haz 2020 23:23

Aslında yapmak istediğim olay şu "X" işaretini devre dışı bırakıp eklediğim bir buton vasıtasıyla çalışma kitabını hem bulunduğu dizine kaydedip hemde sayfa 1'deki kodda bulunan dizine yedek alması. Ama X işareti işin içine girince Sayfa 1'e eklediğim kod ile de çıkış yapmama izin vermiyor. Sanırım benim mantık excel'i geçemedi :) Eklediğim dosyada X işareti kodu pasif durumda anlayan arkadaşlar kontrol edebilirler mi acaba :)
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
serif_07
Yeni Başlamış
 
Adı Soyadı:Şerif Sarper Eygi
Kayıt: 27 Eyl 2010 11:26
Konum: denizli
Meslek: elektrik teknisyeni
Yaş: 30
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Denizli/Merkez

Cevap: X işaretini devre dışı bırakma

İleti#18)  Miraç CAN » 26 Haz 2020 08:23

Şerif Bey, kodlarınızı (Sayfa1'de ki Auto_close makronuz) BuÇalışmaKitabı Private Sub Workbook_BeforeClose(Cancel As Boolean) olayının içine yapıştırmanız yeterli.
Başka bir şey yapmanıza gerek yok.

Yahut, kodlarınızın Sayfa1'de olma zorunluluğu varsa şayet; Private Sub Workbook_BeforeClose(Cancel As Boolean) olayına sadece Sayfa1.Auto_Close yazmanız da yeterli olacaktır.

Kapatma düğmesini etkisizleştirmek vs. şeylere gerek yok, Çalışma Kitabı nasıl kapatılırsa kapatılsın, kodlarınız çalışacaktır.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Tarkan VURAL ve 3 misafir

Bumerang - Yazarkafe