DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba,
Dosyanızdaki açıklamalar çelişkili.
"...B ve C de Karanfil Gül yada Gül Karanfil eşleşmesi olduğunda..." diyorsunuz ama, örnek tabloda Sayfa1 ve Sayfa2 ye göre eşleşme B ve D sütununda.
"...Veri çağırdığımız sayfa..." veriler alışılmadık bir şekilde 10. satırdan başlıyor. Doğrusu bu mudur?
Örnek verileri çoğaltırsanız daha kolay anlaşılır diye düşünüyorum.
Hoşçakalın.
Sub Aktar()
Set s1 = Sheets("Depo")
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Depo" Then
Set s2 = Sheets(i)
son = s2.[A65536].End(3).Row
For j = 10 To son
If s2.Cells(j, 2).Value = "Karanfil" And s2.Cells(j, 4).Value = "Gül" Or _
s2.Cells(j, 4).Value = "Karanfil" And s2.Cells(j, 2).Value = "Gül" Then
If s2.Cells(j, 6).Value <> "" Then
son1 = s1.[I65536].End(3).Row + 1
If son1 < 8 Then son1 = 8
s1.Cells(son1, 9).Value = s2.Cells(j, 1).Value
s1.Cells(son1, 11).Value = s2.Cells(j, 2).Value
s1.Cells(son1, 10).Value = s2.Cells(j, 3).Value
s1.Cells(son1, 17).Value = s2.Cells(j, 4).Value
s1.Cells(son1, 12).Value = s2.Cells(j, 6).Value
s1.Cells(son1, 13).Value = s2.Cells(j, 7).Value
s1.Cells(son1, 15).Value = s2.Cells(j, 8).Value
s1.Cells(son1, 16).Value = s2.Cells(j, 9).Value
s1.Cells(son1, 14).Value = s2.Cells(j, 10).Value
End If
End If
Next
End If
Next
MsgBox "Aktarma işlemi tamamlandı...", , "dEdE başarılar diler."
End Sub
Sub Aktar()
For i = 1 To Sheets.Count
If Sheets(i).Name = "Depo" Then Kaynak = Sheets(i - 1).Name: Exit For
Next
Set s1 = Sheets("Depo")
Set s2 = Sheets(Kaynak)
son = s2.[A65536].End(3).Row
For j = 10 To son
If s2.Cells(j, 2).Value = "Karanfil" And s2.Cells(j, 4).Value = "Gül" Or _
s2.Cells(j, 4).Value = "Karanfil" And s2.Cells(j, 2).Value = "Gül" Then
If s2.Cells(j, 6).Value <> "" Then
son1 = s1.[I65536].End(3).Row + 1
If son1 < 8 Then son1 = 8
s1.Cells(son1, 9).Value = s2.Cells(j, 1).Value
s1.Cells(son1, 11).Value = s2.Cells(j, 2).Value
s1.Cells(son1, 10).Value = s2.Cells(j, 3).Value
s1.Cells(son1, 17).Value = s2.Cells(j, 4).Value
s1.Cells(son1, 12).Value = s2.Cells(j, 6).Value
s1.Cells(son1, 13).Value = s2.Cells(j, 7).Value
s1.Cells(son1, 15).Value = s2.Cells(j, 8).Value
s1.Cells(son1, 16).Value = s2.Cells(j, 9).Value
s1.Cells(son1, 14).Value = s2.Cells(j, 10).Value
End If
End If
Next
MsgBox "Aktarma işlemi tamamlandı...", , "dEdE başarılar diler."
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name <> Sheets(1).Name Then Exit Sub
If Intersect(Target, [J:J]) Is Nothing Then Exit Sub
Satır = Target.Row
Aktar
End Sub
Public Satır
Sub Aktar()
Set s1 = Sheets(1)
Set s2 = Sheets("Depo")
Application.EnableEvents = False
If s1.Cells(Satır, 2).Value = "Karanfil" And s1.Cells(Satır, 4).Value = "Gül" Or _
s1.Cells(Satır, 4).Value = "Karanfil" And s1.Cells(Satır, 2).Value = "Gül" Then
If s1.Cells(Satır, 6).Value <> "" Then
son = s2.[I65536].End(3).Row + 1
If son < 8 Then son = 8
With s2
.Cells(son, 9).Value = s1.Cells(Satır, 1).Value
.Cells(son, 11).Value = s1.Cells(Satır, 2).Value
.Cells(son, 10).Value = s1.Cells(Satır, 3).Value
.Cells(son, 17).Value = s1.Cells(Satır, 4).Value
.Cells(son, 12).Value = s1.Cells(Satır, 6).Value
.Cells(son, 13).Value = s1.Cells(Satır, 7).Value
.Cells(son, 15).Value = s1.Cells(Satır, 8).Value
.Cells(son, 16).Value = s1.Cells(Satır, 9).Value
.Cells(son, 14).Value = s1.Cells(Satır, 10).Value
End With
End If
End If
Application.EnableEvents = True
End Sub
Sayın dEdE;
Sizden ve tüm forumdan özür dilerim.Cahilliğime verin lütfen.
Ben formülü aynı kitapta başka bir sayfada kullanmak istediğimde (Yeni bir sayfa açıyorum yeni bir modül ekliyorum ve Karanfil Gül kısımlarını değiştiriyorum) aşağıdaki uyarıyı alıyorum. Ne yapmam gerekiyor acaba?
saygılarımla
Merhaba,
Öncelikle terminolojide anlaşalım. Bunlar Formül değil makro/VBA kodudur.
Aynı kitapta başka bir sayfada kullanmak için yeni modül eklemenize gerek yoktur. Modül içindeki kodlar tüm sayfalar için geçerlidir. Sadece koddaki ilgili sayfa adını değiştirmek gerekir.
Aldığınız hata mesajı aynı kod bloğu adının iki kez kullanıldığını gösterir. Modüllerde olduğu gibi ThisWorkbook kısmında yazılan kodlar da tüm çalışma kitabı için geçerlidir.
Hoşçakalın.