Makroyu onaylarsam çalıştırsın

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Merhaba,

Sub sil()
Sheets("Müşterilerden yapılacak tahsila").Select
Sheets("Müşterilerden yapılacak tahsila").Range("A1:Z5000").ClearContents
Sheets("Müşterilerden yapılacak tahsila").Range("A1").Select
End Sub

Böyle bir makrom var. İsteğim Sayfa her açıldığında bu makroyu çalıştırmak isteyip istemediğimi sorsun.

İlgilenenlere teşekkür ederim
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın.

[vb:1:1f6f3f3a82]Private Sub worksheet_activate()
sor = MsgBox("Silme makrosunu çalıştırmak istermisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
sil
End Sub
[/vb:1:1f6f3f3a82]
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Levent Bey teşekkürler ama bir sorun çıktı. Dosyayı açtığımda sormuyor. Dosya açıldıktan sonra başka bir sayfayı seçip tekrar o sayfaya gidersem çalışıyor. Dosyayı kaydederken başka bir çalışma sayfası seçip kayderdersek sorun çözülür ama kullanıcı arkadaşlar bu detayı atlayabilirler buda raporumuz için kötü olur
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aynı kodu birde aşağıdaki prosedürde yazın. Thisworkbook modülüne kopyalanmalıdır.

[vb:1:2b4e906230]Private Sub workbook_open()
sor = MsgBox("Silme makrosunu çalıştırmak istermisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
sil
End Sub
[/vb:1:2b4e906230]
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Dosya açılışındada otomatik sorması için ne yapmalıyız.Tekrara hatırlatayım dedim
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Private Sub workbook_open()
sor = MsgBox("Silme makrosunu çalıştırmak istermisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
"Bu satıra ya makrolarınızı yada Call "Makronuzun Adını" yazınız. Tırnaksız.
End Sub
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
sayfayı refresh etmemişim görmemiştim. Özür dilerim. Kod işe yaradı Teşekkür ederim. Son bir soruyla konuyu kapatayım.
Kullandığımız ticari programdan buraya excele at diyerek veri gönderiyoruz. Veri gönderirken aralarda boşluklar oluyor. Bu boşluklarda daha önceden gelen veriler olduğu zaman tabloda kalıyordu. Bu kodla yeni veri gönderirken eski verileri siliyorum. Veri gönderimi tamamlandığı zaman "ozet" sayfasında özet tablo oluşuyor. Şimdiki sorunum şu excel verilerinden özet tablo oluştuğunda otomatik güncellem yapmıyor. Veri gönderimi tamamlandığı anda özet tabloyu güncelleyecek bir makro lazım. Ama otomatik yapabilirsek süper olur (butonsuz)
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Birproblem çıktı. Thisworkbookta bu kodları yazdığım zaman çalıştı ve sordu. evet deyince aktarım yaptı. Bu kodları diğer tablolarada uyarladım. İlk çalıştığında sorun olmadı ama dosyayı kapatıp tekrar aktarım denediğimde aktarım yapmıyor ve ticari program kendini kapatıyor.İşin ilginci ise excel tablosu ortalıkta görünmemesine rağmen açık kalıyor. Dosyayı açmaya çalıştığımda bu dosya açık tekrara açılsınmı diye soruyor. Acil yardım lütfen
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu söylediğinizin yukarıda verilen küçük kodla bir alakası olması mümkün değil, diğer prosedürlerinizi gözden geçirin.
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Mikro ticari programından bir raporu excele gönder diyorum. Ama mikro programı göndeririken eski sayfadaki bilgileri silmiyor üstüne yazıyor. Aradaki boşluklarda bilgi varsa o eski bilgiler sabit kalıyor bu sebeple ben veri aktarımı yaparken eski bilgilerin silinip silinmemesi gerektiğinin sorulması için bu kodu kullanmalıyım. Silme için onay verme zorunda çünkü veri aktarımı dışında dosyayı bilgi almak için dosyayı açtığımda bilgilerin silinmemesi gerekir. Bu kodları ilk kez kullandığımda sorun çıkmadı. Sonra dosyayı kaydedip çıktım. Sonra tekrar veri aktarımı yaptığımda makro çalışmadı. Mikro programı kapandı ve excel dosyası ortalıkta görünmemesine rağmen açık gözüküyor tekrar açmak istediğimde. Bu kodlardan sonra işlem hafızada kalıyor gibi. İlk çalıştırıldığında sorun yok ama sonra sorun çıkarıyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu kodlardan sonra işlem hafızada kalıyor gibi.
Excel kapatıldıktan sonra bu mümkün değil. Sil isimli prosedürün en sonuna aşağıdaki iki satırı ilave ederek deneyin.

activeworkbook.save
application.quit
 
Katılım
23 Haziran 2005
Mesajlar
24
ErkanA' Alıntı:
sayfayı refresh etmemişim görmemiştim. Özür dilerim. Kod işe yaradı Teşekkür ederim. Son bir soruyla konuyu kapatayım.
Kullandığımız ticari programdan buraya excele at diyerek veri gönderiyoruz. Veri gönderirken aralarda boşluklar oluyor. Bu boşluklarda daha önceden gelen veriler olduğu zaman tabloda kalıyordu. Bu kodla yeni veri gönderirken eski verileri siliyorum. Veri gönderimi tamamlandığı zaman "ozet" sayfasında özet tablo oluşuyor. Şimdiki sorunum şu excel verilerinden özet tablo oluştuğunda otomatik güncellem yapmıyor. Veri gönderimi tamamlandığı anda özet tabloyu güncelleyecek bir makro lazım. Ama otomatik yapabilirsek süper olur (butonsuz)
Sub S()
Sheets("sayfa4").Select
ActiveSheet.PivotTables("kar").PivotCache.Refresh
Call auto_open
End Sub


Sub auto_Open()
Application.OnTime Now + TimeValue("00:0:10"), "s"
End Sub
yazdığında 10 saniyede bir özet tablo günceller
 
Katılım
23 Haziran 2005
Mesajlar
24
ErkanA' Alıntı:
sayfayı refresh etmemişim görmemiştim. Özür dilerim. Kod işe yaradı Teşekkür ederim. Son bir soruyla konuyu kapatayım.
Kullandığımız ticari programdan buraya excele at diyerek veri gönderiyoruz. Veri gönderirken aralarda boşluklar oluyor. Bu boşluklarda daha önceden gelen veriler olduğu zaman tabloda kalıyordu. Bu kodla yeni veri gönderirken eski verileri siliyorum. Veri gönderimi tamamlandığı zaman "ozet" sayfasında özet tablo oluşuyor. Şimdiki sorunum şu excel verilerinden özet tablo oluştuğunda otomatik güncellem yapmıyor. Veri gönderimi tamamlandığı anda özet tabloyu güncelleyecek bir makro lazım. Ama otomatik yapabilirsek süper olur (butonsuz)
Sub S()
Sheets("sayfa4").Select
ActiveSheet.PivotTables("kar").PivotCache.Refresh
Call auto_open
End Sub


Sub auto_Open()
Application.OnTime Now + TimeValue("00:0:10"), "s"
End Sub
yazdığında 10 saniyede bir özet tablo günceller
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Levent üstadım denedim ama yine sorun oldu, bazı denemeler yapıyorum bakalım ne olacak
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Arkadaşlar bu kodu yazdığım pc winxp ve Excel2003 tü fakat aynı kodları win2000 ve excel2002 kullanan makinalrdan yaptığımda sorun çıkmıyor. Uyumsuzluk nereden çıkıyor olabilir?
 

ErkanA

Banned
Katılım
5 Aralık 2005
Mesajlar
47
Çok ilginç Office 2003de ayarlar-genelde-hizmetler-paylaşım alanlarında güncellemleler kapalı idi. otomatik güncelleştirme deyince sorun çözüldü. Ne alaka derseniz verecek cevabım yok :)
 
Üst