Soru Makroda Hafızanın Temizlenmesi

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Arkadaşlar Merhaba,

Aşağıdaki kodu sorunsuz çalıştırıyorum. Ancak daha önce çalıştırdığım dosya sanırım askıda kalmış klasör altında dosya olmamasına rağmen eski dosyaların verileri geliyor, makroda değişkenlerin temzilenmesi için makroya ilave edilmesi kod konusunda yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler




Sub Rısk_Dosya_Birlestir()

Dim yol As String, Dosya As String, Sayfa(), sat As Long, i As Byte, a As Long, son As Long, S1 As Worksheet

ThisWorkbook.Activate

Set S1 = Sheets("Tüm Şubeler")


yol = "C:\Dosyalar\"
Dosya = Dir(yol & "\*.xls*")
Sayfa = Array("Log")

Application.ScreenUpdating = False
S1.Range("A2:K" & Rows.Count).ClearContents
sat = S1.Cells(Rows.Count, "I").End(xlUp).Row + 1

Do While Dosya <> ""
Workbooks.Open yol & Dosya


For i = 0 To UBound(Sayfa)
With Sheets(Sayfa(i))
Say = i


If S1.Range("A1") = "" Then
.Range("A1:K1").Copy S1.Range("A1")


End If
son = .Cells(Rows.Count, "I").End(xlUp).Row
If son > 1 Then
.Range("A1:K" & son).AutoFilter Field:=5, Criteria1:="<>"
.Range("A2:K" & son).SpecialCells(xlCellTypeVisible).Copy S1.Cells(sat, "A")
a = sat
sat = S1.Cells(Rows.Count, "I").End(xlUp).Row + 1

End If

End With
Next i

Workbooks(Dosya).Close False
Dosya = Dir

Loop

MsgBox "Dosyalar Başarıyla Birleştirildi..", vbInformation, Application.UserName

End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Galiba Set yol = Empty gibi kodlar kullanmanız gerekiyor.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Her değişkeninki aynı değildir.
Değişkenleri aşağıdaki gibi temizleyebilirsiniz..

Kod:
Sub Rısk_Dosya_Birlestir()
    Dim yol As String, Dosya As String, Sayfa(), sat As Long, i As Byte, a As Long, son As Long, S1 As Worksheet
    yol = ""
    Dosya = ""
    Erase Sayfa
    sat = 0
    i = 0
    a = 0
    son = 0
    Set S1 = Nothing
End Sub
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Muzaffer Ali Bey,

Bu kodu ayrı çalıştırdım, olmadı
benim kodumun olduğu en üst satıra yapıştırdım yine olmadı.

Hafızadaki dosyayı açmasını istemiyorum sadece. Yardımcı olabilirseniz sevinirim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Başka bir sorun var.

Bu kodları örnek olsun diye eklediğinizi sandım.
Rısk_Dosya_Birlestir kodları çalışıp bittikten sonra değişkenlerin tamamı temizlenir.
Yeniden Rısk_Dosya_Birlestir kodlarını çalıştırırsanız hepsi temiz olarak başlar.
Ayrıca temizlemeye gerek yok.

Sorunun nereden kaynaklandığını anlamak için kodları F8 tuşuna basarak manuel çalıştırın.
Locals penceresinde değişkenlerin aldığı değerleri kontrol edin.

"Wiev / Locals Window" ile pencereyi açabilirsiniz.
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Muzaffer Ali Bey,

Çok teşekkür ederim. Şİmdi oldu Allah Sizden razı olsun..
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Allah senden de razı olsun.
 
Üst