ikinci sayfadan veri alma

Katılım
20 Nisan 2005
Mesajlar
189
herkese kolay gelsin. ekteki belgenin içinde 1.sayfada sarı renkte olan bölümde bulunan ad ve soyadlara göre 2.sayfadan ad ve soyada göre tarama yaparak 1. sayfada kırmızı olan yere yazdırabilirmiyiz.sarı renkte olan isimler 1000 civarında 2.sayfada ki veriler ise 20 bin civarında bul düğmesi yapıp bastığımızda 2.sayfayı tarayıp karşılarına yazabilcek bir makro yapabilirmiyiz.Ben çok uğraştım ama yapamadım yardımcı olursanız çok sevinirim.şimdiden teşekkür ederim.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
[vb:1:e12a2cdd38]Sub AKTAR()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
SON1 = s1.[a65536].End(3).Row
son2 = s2.[a65536].End(3).Row
Range("C2:CS" & SON1).ClearContents
For X = 2 To SON1
For Y = 2 To son2
If s1.Cells(X, 1) = s2.Cells(Y, 2) And s1.Cells(X, 2) = s2.Cells(Y, 3) Then
s1.Range(s1.Cells(X, "C"), s1.Cells(X, "CS")).Value = s2.Range(s2.Cells(Y, "A"), s2.Cells(Y, "CQ")).Value
Exit For
End If
Next Y
Next X[/vb:1:e12a2cdd38]
 
Katılım
20 Nisan 2005
Mesajlar
189
veyselemre bey ellerinize sağlık sizden birşey daha isteye bilirmiyim .1.sayfaya bir düğme koyup ona atayabilirseniz.çok hoş olacak beceremediğim için istiyorum.inanın işime çok yarayacak
 
Katılım
20 Nisan 2005
Mesajlar
189
Sub AKTAR()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
SON1 = s1.[a65536].End(3).Row
son2 = s2.[a65536].End(3).Row
Range("C2:CS" & SON1).ClearContents
For X = 2 To SON1
For Y = 2 To son2
If s1.Cells(X, 1) = s2.Cells(Y, 2) And s1.Cells(X, 2) = s2.Cells(Y, 3) Then
s1.Range(s1.Cells(X, "C"), s1.Cells(X, "CS")).Value = s2.Range(s2.Cells(Y, "A"), s2.Cells(Y, "CQ")).Value
Exit For
End If
Next Y
Next X


veysel bey şu kodları bana açıklaya bilirmisin nasıl olduğunu birinci sayfaya bir sütun daha eklemek istedi eklediğim sütun da kimlik no olsun ve 2.sayfadaki(1.sütun daki kimlik no larla karşılaştırsın istedim ama yapamadım .yardımınızı bekliyorum
 
Katılım
20 Nisan 2005
Mesajlar
189
arkadaşlar yukarıdaki kodları eğer mümkünse satır satır ne demek istediğini bana anlatabilirmisiniz.çok merek ettim de.konuyuda kavramış olacağım.mümkünse şimdiden teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. veyselemre beyin müsadesiyle ben size kodların ne işe yaradığını kısaca anlatmak isterim.

1. Satır
Kod:
Sub AKTAR()
Bu satır ile makromuzun adını veriyoruz.
2. Satır
Kod:
Set S1 = Sheets("Sayfa1")
S1 isimli değişkene Sayfa1 i tanımlıyoruz. Yani bundan sonraki satırlarda Sheets("Sayfa1") yazmak yerine S1 yazabiliriz.
3. Satır
Kod:
Set S2 = Sheets("Sayfa2")
S2 isimli değişkene Sayfa2 i tanımlıyoruz. Yani bundan sonraki satırlarda Sheets("Sayfa2") yazmak yerine S2 yazabiliriz.
4. Satır
Kod:
SON1 = S1.[A65536].End(3).Row
S1 değişkenine atadığımız Sayfa1 in A sütünundaki en son dolu satırın satır numarasını SON1 değişkenine atıyoruz.
5. Satır
Kod:
SON2 = S2.[A65536].End(3).Row
S2 değişkenine atadığımız Sayfa2 in A sütünundaki en son dolu satırın satır numarasını SON2 değişkenine atıyoruz.
6. Satır
Kod:
Range("C2:CS" & SON1).ClearContents
Bu makroyu çalıştırdığınız sayfa üzerinde belirtilen aralığın içeriğini temizler ve aktarım işlemine hazır hale getirir.
7. Satır
Kod:
For X = 2 To SON1
For-next döngüsünün başlangıç satırıdır. X değerinin 2 den başlayarak SON1 değişkeninin değerine kadar döngüye devam et komutunu veriyoruz.
8. Satır
Kod:
If S1.Cells(X, 1) = S2.Cells(Y, 2) And S1.Cells(X, 2) = S2.Cells(Y, 3) Then
Bu satırda ise If (Eğer) komutu ile hücreleri denetliyoruz. Bu satır ise şu şekilde yorumlanmaktadır. Eğer Sayfa1 in A sütunundaki X satırı eşitse Sayfa2 nin B sütunundaki Y satıra ve Sayfa1 in B sütunundaki X satırı eşitse Sayfa2 nin C sütunundaki Y satırına
9. Satır
Kod:
S1.Range(S1.Cells(X, "C"), S1.Cells(X, "CS")).Value = S2.Range(S2.Cells(Y, "A"), S2.Cells(Y, "CQ")).Value
Bu satır ise eğer 8. satırdaki şart sağlanıyorsa işlemektedir. Şu şekilde yorumlanır. Sayfa1 in C sütunundaki X satırı ile CS sütunundaki X satır aralığına, Sayfa2 nin A sütunundaki Y satırı ile CQ sütunundaki Y satır aralığını getir.
10. Satır
Kod:
Exit For
For döngüsünden çık komutudur.
11. Satır
Kod:
End If
If sorgusunu sonlandır komutudur.
12. Satır
Kod:
Next Y
Y döngüsüne devam et komutudur.
13. Satır
Kod:
Next X
X döngüsüne devam et komutudur.
14. Satır
Kod:
End Sub
Makroyu sonladır komutudur.
 
Katılım
20 Nisan 2005
Mesajlar
189
çok sağol arkadaşım yardımınız için teşekkürler.
 
Üst