Merhaba,
haftalık olarak güncellediğim ürün listelerim var, yeni çektiğim liste o hafta içinde mevcut ürünlerden güncelleme yapılanları içeriyor. Yani eski listem yeni çektiğim listeden daha büyük ve yeni listemdeki tüm ürünler eski listemde var. Yapmak istediğim şey yeni listemdeki ürünleri eski listemde aratmak ve silmek, sonrasında da yeni listedeki bu ürünleri eski listeye taşımak. aşağıdaki kodu yazdım (bir kısmını ben yazdım bir kısmını ise forumlardan buldum) ancak arama ile ilgili döngüde hata yapıyorum. Her iki kitapda da kolon sayısı ve kolon adları aynı. Ayrıca sayfa adları da aynı kalacak (sayfa adı, mevcut ürünleri içeren kitapta "Mevcut" güncellenen ürünleri içerende ise "Sheet1"). Arama yapılacak olan Kolon ise H (Ürün No) kolonu (ürünler güncellense bile değişmeyecek olan tek kolon bu)
konu ile ilgili yardımlarınızı rica ederim,
şimdiden teşekkürler.
haftalık olarak güncellediğim ürün listelerim var, yeni çektiğim liste o hafta içinde mevcut ürünlerden güncelleme yapılanları içeriyor. Yani eski listem yeni çektiğim listeden daha büyük ve yeni listemdeki tüm ürünler eski listemde var. Yapmak istediğim şey yeni listemdeki ürünleri eski listemde aratmak ve silmek, sonrasında da yeni listedeki bu ürünleri eski listeye taşımak. aşağıdaki kodu yazdım (bir kısmını ben yazdım bir kısmını ise forumlardan buldum) ancak arama ile ilgili döngüde hata yapıyorum. Her iki kitapda da kolon sayısı ve kolon adları aynı. Ayrıca sayfa adları da aynı kalacak (sayfa adı, mevcut ürünleri içeren kitapta "Mevcut" güncellenen ürünleri içerende ise "Sheet1"). Arama yapılacak olan Kolon ise H (Ürün No) kolonu (ürünler güncellense bile değişmeyecek olan tek kolon bu)
Kod:
Sub Liste()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim mevcut As Workbook, yeni As Workbook
Dim Mevcut As Worksheet, Sheet1 As Worksheet
Dim vFile As Variant
Set yeni = ActiveWorkbook
yenisay = Range("H65536").End(xlUp).Row
vFile = Application.GetOpenFilename("Excel (*.xls; *.xlsx),*.xls;*.xlsx", _
1, "Dosya Seçin", , False)
If TypeName(vFile) = "Boolean" Then Exit Sub
Workbooks.Open vFile
Set mevcut = ActiveWorkbook
eskisay = Range("H65536").End(xlUp).Row
For i = 2 To yenisay
For t = 2 To eskisay
If Workbooks(yeni).Sheets("Sheet1").Range("H" & i).Value = Workbooks(mevcut).Sheets("Mevcut").Range("H" & t) Then
Range(Workbooks("mevcut").Sheets("UE").Range("H" & t)).EntireRow.Delete
End If
Next t
Next i
End Sub
konu ile ilgili yardımlarınızı rica ederim,
şimdiden teşekkürler.
