• DİKKAT

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

Soru EXCEL MAKRO SONRASI KALINTILAR

Katılım
12 Eylül 2015
Mesajlar
96
Excel Vers. ve Dili
excel 2013 tr
Merhabalar,

Bir Userform kullanıyorum ve bu form güncelle butonuna bastığımda 2 farklı kitabı sırasıyla açıyor ve içlerinde ki belli makroları çalıştırıp en son "Workbook("abc.xlsm").close true" diyerek kapatıyor. Ancak işlem bittiğinde ekteki resim deki gibi kalıntılar oluşuyor. Mesela PLANLAMA isimli dosya aslında kapatıldı ama ekte açıkmış gibi görünüyor. Bir kaç defa ard arda güncellersem bu kalıntılar bir sürü oluyor. Bu kalıntıların nedeni nedir ? Ve kalmaması için ne yapmak gerekir?

NOT: Application.Quit şeklinde kapatamıyorum, form dosyasının açık kalması gerekiyor. Veya başka exceller varsa onlarında kapatılmaması gerekiyor.

http://www.dosya.tc/server14/q28j4m/7.jpg.html

Hata resimleri bu linkte
 
Dosya açma ve kapatma kodlarınızın tamamını buraya ekleyin kontrol edelim.
 
Sayın dalgalikur öncelikle ilginiz için teşekküe ederim,
Açma kapatma kodlarım aşağıdaki gibidir. Her güncelle butonuna tıkladığımda iki tane kitabı aşağıda ki sırayla açıp içlerinde ki ilgili makroları çalıştırıp kapatıyorum. Yaptığım iş bu ama sürekli ekteki resimde ki kalıntılar oluyor.



Kod:
Private Sub btnguncelle_Click()
Dim wb As Workbook, wb2 As Workbook
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = ThisWorkbook.Sheets("ANA_SAYFA")
'DoEvents
s1.[C1] = "FORMDAN"
s1.[D1] = Now
Set wb = Workbooks.Open(ThisWorkbook.Path & "\PLANLAMA.xlsm")
Application.Visible = False
Application.Run "PLANLAMA.xlsm!formul"
wb.Close True
Set wb2 = Workbooks.Open(ThisWorkbook.Path & "\MALZEME_HESAP.xlsm")
Application.Visible = False
Application.Run "MALZEME_HESAP.xlsm!MALZHESAP"
wb2.Close True 
End sub
 
"PLANLAMA.xlsm" dosyasında çalıştırdığınız "formul" adlı kodlar işlemini bitiremiyor olabilir mi.

Şöyle bir şey deneyin. "formul" adlı kodların en son satırına örneğin.
msgbox "İşlem Bitti."
satırını ekleyin.

Bu mesajı gördüğünüz halde dosya kapatılmazsa eğer mahsuru yoksa "PLANLAMA.xlsm" dosyanızı buraya ekleyin çözmeye çalışalım.
 
Merhaba,

Msgbox ekleyerek denedim ama yine aynısı. Planlama dosyasını eklemek isterdim ama dosya açılışta ve kodun birçok kısmında veri çekiyor büyük ve işlevli bir dosya olduğu için simüle de edemiyorum hepsi birbirine bağlı hocam. Başkaca bir sebebi olabilir mi acaba ?
 
Bir de bu kalıntıları Görünüm menüsünden bir kaç defa Göster-Gizle diye diye yok edebiliyorum ancak manuel kendim yapıyorum bunu. Acaba buralardan bişey çıkarılabilir mi ?
 
msgbox "İşlem Bitti." mesajı açılıyor değil mi?
 
Dosyayı eklemeniz mümkün değilse
"MALZHESAP" ve "formul" kodlarını buraya ekleyin bakalım.
 
kodun başına bunu ekleyin
Application.ScreenUpdating = True

Application.Visible =False

false seçeneğinide true yapın

Application.Visible = True

PHP:
Private Sub btnguncelle_Click()
Dim wb As Workbook, wb2 As Workbook
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = ThisWorkbook.Sheets("ANA_SAYFA")

Application.ScreenUpdating = True

'DoEvents
s1.[C1] = "FORMDAN"
s1.[D1] = Now
Set wb = Workbooks.Open(ThisWorkbook.Path & "\PLANLAMA.xlsm")
Application.Visible = True
Application.Run "PLANLAMA.xlsm!formul"
wb.Close
Set wb2 = Workbooks.Open(ThisWorkbook.Path & "\MALZEME_HESAP.xlsm")
Application.Visible = True
Application.Run "MALZEME_HESAP.xlsm!MALZHESAP"
wb2.Close
End Sub
 
msgbox "İşlem Bitti." mesajı açılıyor değil mi?
**Evet Sayın hocam açılıyor mesaj ona rağmen değişmedi.

Dosyayı eklemeniz mümkün değilse
"MALZHESAP" ve "formul" kodlarını buraya ekleyin bakalım.
** Dosyaların içerisinde en az 7-8 tane farklı modül de ki makrolar tetikleniyor hocam bu "MALZHESAP" ve "formul" makrolarının altlarında :( Tek bir modül olmadığı için onuda ekleyemedim :(
 
kodun başına bunu ekleyin
Application.ScreenUpdating = True

Application.Visible =False

false seçeneğinide true yapın

Application.Visible = True

PHP:
Private Sub btnguncelle_Click()
Dim wb As Workbook, wb2 As Workbook
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = ThisWorkbook.Sheets("ANA_SAYFA")

Application.ScreenUpdating = True

'DoEvents
s1.[C1] = "FORMDAN"
s1.[D1] = Now
Set wb = Workbooks.Open(ThisWorkbook.Path & "\PLANLAMA.xlsm")
Application.Visible = True
Application.Run "PLANLAMA.xlsm!formul"
wb.Close
Set wb2 = Workbooks.Open(ThisWorkbook.Path & "\MALZEME_HESAP.xlsm")
Application.Visible = True
Application.Run "MALZEME_HESAP.xlsm!MALZHESAP"
wb2.Close
End Sub

Sayın halit3 hocam ilginiz için çok teşekkür ederim ancak yine olmadı, aynı şekilde kalıntılar oluyor. :(
 
Geri
Üst