Dosya çökmesi

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Hayırlı günler dilerim Arkadaşlar,
Aşağıdaki kodda Sayfa19.Cells(7, 3) = deger bunu ekleyince excel sayfam çöküyor. Bellek yetersizliği hatası veriyor. Sayfa sutunları bozuluyor.
Yardımcı olursanız sevinrim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim deger As String
On Error GoTo Hata
If Cells(Target.Row, 3) <> "" Then
deger = Application.WorksheetFunction.VLookup([C4], Sayfa2.Range("B4:D12"), 2, False)
ActiveSheet.Range("c6").Select
Sayfa19.Cells(7, 3) = deger
End If
Hata:
End Sub
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Dener misiniz?
Sizin kodunuzun çökmeyi önleyecek şekilde düzenlenmiş hali.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim deger As String
On Error GoTo Hata
Application.EnableEvents = False
    If Cells(Target.Row, 3) <> "" Then
        deger = Application.WorksheetFunction.VLookup([C4], Sayfa2.Range("B4:D12"), 2, False)
        Sayfa19.Cells(9, 3) = deger
    End If
Application.EnableEvents = True
Hata:
End Sub
Kod, C sütunundaki tüm hücreler için çalışıyor. Buna gerek yok. C4 hücresi değişince kod çalışır.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim deger As String
If Not Intersect(Target, Range("C4")) Is Nothing Then
    If Cells(Target.Row, 3) <> "" Then
        Sayfa19.Cells(9, 3) = Application.WorksheetFunction.VLookup([C4], Sayfa2.Range("B4:D12"), 2, False)
    End If
End If
End Sub
 
Son düzenleme:

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Dener misiniz?
Sizin kodunuzun çökmeyi önleyecek şekilde düzenlenmiş hali.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim deger As String
On Error GoTo Hata
Application.EnableEvents = False
    If Cells(Target.Row, 3) <> "" Then
        deger = Application.WorksheetFunction.VLookup([C4], Sayfa2.Range("B4:D12"), 2, False)
        Sayfa19.Cells(9, 3) = deger
    End If
Application.EnableEvents = True
Hata:
End Sub
Kod, C sütunundaki tüm hücreler için çalışıyor. Buna gerek yok. C4 hücresi değişince kod çalışır.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim deger As String
If Not Intersect(Target, Range("C4")) Is Nothing Then
    Application.EnableEvents = False
        If Cells(Target.Row, 3) <> "" Then
            Sayfa19.Cells(9, 3) = Application.WorksheetFunction.VLookup([C4], Sayfa2.Range("B4:D12"), 2, False)
        End If
    Application.EnableEvents = True
End If
End Sub
Hocam Çok tşk ederim. Gayet güzel oldu. Halaa deneme aşamasındayım. Kod bazen çalışmıyor. dosyayı kapatıp açınca çalışıyor bazen yine duruyor. Sebebini bulmaya çalışıyorum. son gönderdiğiniz kodu da deniyeceğim.
 

excellkurdu

Altın Üye
Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Altın Üyelik Bitiş Tarihi
22-03-2026
Sayın Hocam 2. kod stabil çalıştı. Sanırım sorun Sizin dediğiniz gibi C sutununu kapsayan kodlar yüzünden di.
Çok sağolun :)
 
Üst