• DİKKAT

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

Sil ve ekle makrosu

aydgur

Altın Üye
Katılım
31 Ekim 2005
Mesajlar
455
Excel Vers. ve Dili
Excel 2007 Türkçe
1534237279008.png
Yukarıdaki tabloda ; eğer C sütünu dolu ise A sütünundaki tarihi silmek istiyorum . Yani A2,A3,A4,A5 teki satırlardaki tarihler silinecek ama D ve E sütunları dolu ise silinmeyecek bir makro olsa çok şişime yarayacak ve durumu gördükten sonra birde diğer bir makro ile bu silme işlemini geri almam lazım . Böyle bir şey yapılabilir mi ?
 
Sub Sil()
Range("DA2: DA65536").ClearContents
For MSTF = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(MSTF, "D") <> "" Then
If Cells(MSTF, "E") <> "" Then
If Cells(MSTF, "C") = "" Then
Cells(MSTF, "A") = ""
Cells(MSTF, "DA") = Cells(MSTF, "A")
End If
End If
End If
Next
MsgBox " Silme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub

Sub Getir()
For MSTF = 2 To Cells(65536, "DA").End(xlUp).Row
If Cells(MSTF, "DA") <> "" Then
Cells(MSTF, "A") = Cells(MSTF, "DA")
End If
Next
MsgBox " Getirme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub


Denermisiniz...
 
Son düzenleme:
Teşekkür Ederim Mustafa bey ;
Sub Sil()
Range("DA2: DA65536").ClearContents-------***** burayı ("A2:A65536") yapınca sildi-----*****
For MSTF = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(MSTF, "D") <> "" Then
If Cells(MSTF, "E") <> "" Then
If Cells(MSTF, "C") = "" Then
Cells(MSTF, "A") = ""
Cells(MSTF, "DA") = Cells(MSTF, "A")
End If
End If
End If
Next
MsgBox " Silme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub
Fakat bilgiler geri gelmedi ne yapabilirim ?
 
Pardon Mustafa bey birşey daha atladım .Silme makrosunda Eğer C sütünunda rakam varsa (yani tl hücresi dolu ise ) silme yapacaktı .
 
İyi günler Mustafa bey , bakmaya zamanınız oldu mu ?
 
Sub Sil()
Range("DA2: DA65536").ClearContents
For MSTF = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(MSTF, "D") <> "" Or If Cells(MSTF, "E") <> "" Or If Cells(MSTF, "C") <> "" Then
Cells(MSTF, "DA") = Cells(MSTF, "A")
Cells(MSTF, "A") = ""
End If
Next
MsgBox " Silme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub
 
Teşekkür eder ve geçmiş bayramınızı tebri ederim Mustafa bey. Aşağıdaki gibi bir hata verdi ne yapabilirim
1535371455959.png
 
Benim amacım C sütununda ( TL yazdığım sütun) değer varsa A sütunundaki tarihi silmek ve durumu gördükten sonra sonra tekrar eski haline getirmek.
Her satırda ya TL ya USD yada EURO sütünunda bir rakam bulunuyor. Eğer TL yazılı C sütunu dolu ise A sutünundaki tarihi silmek sonra geri getirmek.
 
Mustafa Bey, Forumda değil sanıyorum.
Aşağıdaki gibi deneyin:

Sub Sil()
Range("DA2: DA65536").ClearContents 'bu kısmı değiştirmeyiniz!!!
For MSTF = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(MSTF, "C") <> ""Then
Cells(MSTF, "DA") = Cells(MSTF, "A")
Cells(MSTF, "A") = ""
End If
Next
MsgBox " Silme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub

Sub Getir()
For MSTF = 2 To Cells(65536, "DA").End(xlUp).Row
If Cells(MSTF, "DA") <> "" Then
Cells(MSTF, "A") = Cells(MSTF, "DA")
End If
Next
MsgBox " Getirme İşlemini tamamladım...", vbExclamation, "Excel.web.tr."
End Sub
 
Sağolun..
Mustafa Hoca'ya teşekkürler.
 
Geri
Üst