Listede bir sürü cari var. istemediğim carileri makro ile siliyorum. ama bazı cari isimlerine gelince silmiyor. aslında siliyor. hiçbir sorun yok gibi görünüyor ama kaydetmeye çalıştığımda dosya kapanıp açılıyor ve eski cari yerine gelmiş. ne yaptıysam çözemedim. ayrıca kendim silmeye çalıştığımda da siliniyor gibi görünüyor ama aynı hatayı tekrar alıyorum. kod aşağıda
yardımcı olabilirseniz memnun olurum.
Sub LİSTEDENCARİSİL()
Application.ScreenUpdating = False
Dim i As Long, CARİ As Variant, wbName, UTKU As String
CARİ = Worksheets("YENİKAYIT").Range("H5").Value
wbName = ActiveWorkbook.Path & "\" & Worksheets("YENİKAYIT").Range("H5") & ".xlsm"
If Worksheets("YENİKAYIT").Range("H5") = "" Then
MsgBox "CARİ SEÇİLMEDİ. LÜTFEN #SİLMEK İSTEDİĞİNİ CARİYİ# LİSTEDEN SEÇİP TEKRAR DENEYİNİZ", vbInformation
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Exit Sub
End If
UTKU = Worksheets("YENİKAYIT").Cells(5, 8).Value
If MsgBox(" ** " + UTKU + " **" + vbNewLine + "ADLI CARİ SİLİNECEKTİR. ** EMİN MİSİNİZ **?", vbYesNo + vbCritical) = vbYes Then
Else
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Exit Sub
End If
If MsgBox(" CARİYİ SİLİYORUM" + vbNewLine + "** ONAYLIYOR MUSUNUZ **?", vbYesNo + vbCritical) = vbYes Then
Else
Exit Sub
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
End If
For i = 6 To Worksheets("FİRMALAR").Range("A1000").End(2).Row
If Cells(i, 2).Value = CARİ Then
Rows(Cells(i, 2).Row).EntireRow.Delete
i = i - 1
End If
Next i
On Error Resume Next
Kill wbName
MsgBox "İŞLEM TAMAM. CARİ SİLİNMİŞTİR.", vbInformation
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Application.ScreenUpdating = True
End Sub
yardımcı olabilirseniz memnun olurum.
Sub LİSTEDENCARİSİL()
Application.ScreenUpdating = False
Dim i As Long, CARİ As Variant, wbName, UTKU As String
CARİ = Worksheets("YENİKAYIT").Range("H5").Value
wbName = ActiveWorkbook.Path & "\" & Worksheets("YENİKAYIT").Range("H5") & ".xlsm"
If Worksheets("YENİKAYIT").Range("H5") = "" Then
MsgBox "CARİ SEÇİLMEDİ. LÜTFEN #SİLMEK İSTEDİĞİNİ CARİYİ# LİSTEDEN SEÇİP TEKRAR DENEYİNİZ", vbInformation
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Exit Sub
End If
UTKU = Worksheets("YENİKAYIT").Cells(5, 8).Value
If MsgBox(" ** " + UTKU + " **" + vbNewLine + "ADLI CARİ SİLİNECEKTİR. ** EMİN MİSİNİZ **?", vbYesNo + vbCritical) = vbYes Then
Else
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Exit Sub
End If
If MsgBox(" CARİYİ SİLİYORUM" + vbNewLine + "** ONAYLIYOR MUSUNUZ **?", vbYesNo + vbCritical) = vbYes Then
Else
Exit Sub
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
End If
For i = 6 To Worksheets("FİRMALAR").Range("A1000").End(2).Row
If Cells(i, 2).Value = CARİ Then
Rows(Cells(i, 2).Row).EntireRow.Delete
i = i - 1
End If
Next i
On Error Resume Next
Kill wbName
MsgBox "İŞLEM TAMAM. CARİ SİLİNMİŞTİR.", vbInformation
Worksheets("YENİKAYIT").Range("H5").ClearContents
Worksheets("YENİKAYIT").Range("N4").ClearContents
Worksheets("YENİKAYIT").Range("C4").Activate
Application.ScreenUpdating = True
End Sub
