• DİKKAT

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

Userform İle Veri Filtreleyip Kopyalama

Katılım
28 Haziran 2007
Mesajlar
141
Excel Vers. ve Dili
microsoft office 2007 - ingilizce
Merhabalar,

Ekteki çalışma kitabında hazırladığım sayfalarla yapmak istediğimi anlatayım:

Userform'da seçilen verilerle Excel'in "TCM" sayfasında filtreleme uygulanmaktadır. Buraya kadar herhangi bir sorun yok. Fakat benim yapmak istediğim, "Tasks" sayfasının "TASKS" sütununa girilen verileri, filtrelenmiş "TCM" sayfasında ayrı ayrı "TASK NO" sütununda aratsın.

Eğer "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulursa, verinin bulunduğu satırı "WP" sayfasına eklensin. (Eklenen veriler alt alta dizilsin)

Eğer "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulamazsa, bulamadığı veriyi "Tasks" sayfasının "WP (MISSING INFO)" sütununa işlesin. (Eklenen veriler alt alta dizilsin)

Yardımcı olabilir misiniz?
 

Ekli dosyalar

Merhabalar,

Ekteki çalışma kitabında hazırladığım sayfalarla yapmak istediğimi anlatayım:

Userform'da seçilen verilerle Excel'in "TCM" sayfasında filtreleme uygulanmaktadır. Buraya kadar herhangi bir sorun yok. Fakat benim yapmak istediğim, "Tasks" sayfasının "TASKS" sütununa girilen verileri, filtrelenmiş "TCM" sayfasında ayrı ayrı "TASK NO" sütununda aratsın.

Eğer "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulursa, verinin bulunduğu satırı "WP" sayfasına eklensin. (Eklenen veriler alt alta dizilsin)

Eğer "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulamazsa, bulamadığı veriyi "Tasks" sayfasının "WP (MISSING INFO)" sütununa işlesin. (Eklenen veriler alt alta dizilsin)

Yardımcı olabilir misiniz?

merhaba
boş bir module kopyalayarak dener misiniz
Kod:
Option Explicit
Sub aktar()
Dim ts, kaplan, wp, tasks
kaplan = MsgBox("Verileri Aktarıyorum", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
wp = 2: tasks = 2
Sheets("Tasks").Range("C2:C65536").ClearContents
Sheets("WP").Range("A2:O65536").ClearContents
For ts = 2 To Sheets("TCM").Cells(65536, "A").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("Tasks").Range("A2:A65536"), _
Sheets("TCM").Cells(ts, "A")) > 0 Then
Sheets("WP").Cells(wp, "A") = Sheets("TCM").Cells(ts, "A")
Sheets("WP").Cells(wp, "B") = Sheets("TCM").Cells(ts, "B")
Sheets("WP").Cells(wp, "C") = Sheets("TCM").Cells(ts, "C")
Sheets("WP").Cells(wp, "D") = Sheets("TCM").Cells(ts, "D")
Sheets("WP").Cells(wp, "E") = Sheets("TCM").Cells(ts, "E")
Sheets("WP").Cells(wp, "F") = Sheets("TCM").Cells(ts, "F")
Sheets("WP").Cells(wp, "G") = Sheets("TCM").Cells(ts, "G")
Sheets("WP").Cells(wp, "H") = Sheets("TCM").Cells(ts, "H")
Sheets("WP").Cells(wp, "I") = Sheets("TCM").Cells(ts, "I")
Sheets("WP").Cells(wp, "J") = Sheets("TCM").Cells(ts, "J")
Sheets("WP").Cells(wp, "K") = Sheets("TCM").Cells(ts, "K")
Sheets("WP").Cells(wp, "L") = Sheets("TCM").Cells(ts, "L")
Sheets("WP").Cells(wp, "M") = Sheets("TCM").Cells(ts, "M")
Sheets("WP").Cells(wp, "N") = Sheets("TCM").Cells(ts, "N")
Sheets("WP").Cells(wp, "O") = Sheets("TCM").Cells(ts, "O")
wp = wp + 1
Else
Sheets("Tasks").Cells(tasks, "C") = Sheets("TCM").Cells(ts, "A")
tasks = tasks + 1
End If
Next
MsgBox "Verileri Aktardım", vbInformation, "Bitiş"
End Sub
 
Merhaba,

Öncelikle ilgilndiğiniz için teşekkür ederim. Dediğiniz şekilde yaptım, sonuçları şu şekilde aktarayım:

Kodlar, "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulduğunda, verinin bulunduğu satırı "WP" sayfasına ekliyor. Bu noktada bir sorun yok.

Ancak, "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulamadığında, bulamadığı veriyi "Tasks" sayfasının "WP (MISSING INFO)" sütununa işlemiyor. Benim istediğim sadece "Tasks" sayfasının "TASKS" sütununa yazdığım değerlerden bulamadıklarını, "WP (MISSING INFO)" sütununa işlesin. Makro, bunun tam tersi mantıkla çalışıyor. "TCM" sayfasındaki değerleri aktarıyor, hem de filtrelemeye aldırmadan bulamadığı tüm verileri aktarıyor.

Bu sorunu nasıl aşabilirim?
 
arkadaşım verdiğin bilgilerde filtre kullanacağım diye bir tabir kullanmamışsın.
ikincisi makroda nasıl bir problem var anlamadım siz demişsiniz ki bulduklarını şuraya bulamadıklarını şuraya aktarsın bende öyle yaptım. şimdi yok ben öyle demedim diyorsunuz
 
Merhaba,

Sanırım yanlış anlaşılma olmuş, ben sizi herhangi bir şekilde suçlamadım. Zaten amacın yardımlaşma olduğu bir platformda böyle bir davranış çok da doğru olmaz. Yalnızca istediğim şeyin tam olarak bu olmadığından bahsettim; ben öyle bir şey demedim, siz yanlış anladınız gibi bir tavrım asla olmadı, olmaz da. Öncelikle bunu düzeltmek isterim.

İlk mesajımda şöyle bir ifade kullandım:

Userform'da seçilen verilerle Excel'in "TCM" sayfasında filtreleme uygulanmaktadır. Buraya kadar herhangi bir sorun yok. Fakat benim yapmak istediğim, "Tasks" sayfasının "TASKS" sütununa girilen verileri, filtrelenmiş "TCM" sayfasında ayrı ayrı "TASK NO" sütununda aratsın.

Yapmak istediğim her şeyi, filtrelenmiş veriler üstünde yapmak istiyorum. Bunu özellikle belirtmek isterim.

Sizin yazmış olduğunuz kodlar, "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulduğunda, verinin bulunduğu satırı "WP" sayfasına ekliyor.

Ama ben ayrıca, "TCM" sayfasının "TASK NO" sütununda aynı veriyi bulamadığında, bulamadığı veriyi "Tasks" sayfasının "WP (MISSING INFO)" sütununa işlesin istiyorum. Bu konuda yardımcı olur musunuz? Teşekkürler.
 
Geri
Üst