Düşeyara makro ile nasıl olur.

Katılım
2 Mart 2005
Mesajlar
92
Merhaba arkadaşlar,

elimde bir tablo var 70 kişilik, bu tabloya veri sayfasından veriler alınıyor,
ve her seferinde bu tablodaki kişiler değişiyo, yani Amerikaya gidenler ayrı liste oluyo, Hollandaya gidenler ayrı Yunanistana gidenler ayrı.
Benim yapmak istediğim veri sayfasındaki isimler, liste sayfasından sicil numarasına göre düşeyara ile çağrılıyo fakat.diyelim listede sadece 30 kişi veya 20 kişi olacak. sicil girilmeyenler YOK olarak çıkıyo, bunların sıfır veya hiç olmaması için nasıl bir şey yapabiliriz. Ben formülle denedim düşeyara olmuyo, makro ile veya başka türlü nasıl yapabiliriz. Örnek dosyayı ekledim yardımcı olabilirmisiniz. Teşekkür ediyorum şimdiden.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Formulü bir deneyiniz.
Kod:
=+EĞER(EHATALIYSA(DÜŞEYARA($A$7;veri!$A$2:$G$72;2;0));"";DÜŞEYARA($A$7;veri!$A$2:$G$72;2;0))
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Ekli dosyayı inceleyiniz.Şimdi #YOK# yazmıyor.EHATALISA işlevini ekledim.:cool:
 
Katılım
2 Mart 2005
Mesajlar
92
Çok teşekkür ediyorum, tam istediğim gibi oldu. Bunu makro olarak yapabilirmiyiz.
 
Katılım
30 Nisan 2007
Mesajlar
118
Excel Vers. ve Dili
exel2007
Altın Üyelik Bitiş Tarihi
27-09-2023
Merhaba Ayni Cevap Banada Gereklİydİ Hemen Denedİm Fakat Bu Defa FormÜlÜ Asagiya Dogru Cekİnce İlk Satirdakİ Buldugu Degerİ Tumune Yaziyor
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Formüldeki $ işaretleri formül adresini sabitlemek içindir kaldırın .
 
Katılım
30 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
office xp
Altın Üyelik Bitiş Tarihi
23-03-2021
arkadaşlar bunun makro ile yapmak mümkün değilmi
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Örnek dosyayı kendinize uyarlayınız.

Private Sub Worksheet_Change(ByVal Target As Range)
[c1] = Application.VLookup(([d1]), ([a1:b5]), 2, 0)
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Birden fazla satır için isterseniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a1:a20]) Is Nothing Then Exit Sub
For ara = 1 To 20
Range("b" & ara) = WorksheetFunction.VLookup(Range("a" & ara), Range("f:h"), 2, 0)
Range("c" & ara) = WorksheetFunction.VLookup(Range("a" & ara), Range("f:h"), 3, 0)
If Range("a" & ara) = "" Then
Range("a" & ara).Offset(0, 1) = ""
Range("a" & ara).Offset(0, 2) = ""
End If
Next
End Sub
 
Katılım
22 Aralık 2006
Mesajlar
133
Excel Vers. ve Dili
excel 2003
Selamlar,Sayın V.Basic For Applications,
Bunun gibi benzer uygulamalar zaman zaman gerekli oluyor.Fakat sizin kodları çalıştıramadım.Ben mi uygulayamadım bilmiyorum.Tekrar kontrol etseniz.
İyi günler dilerim.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Normal düşeyara formülü gibi mantığı var.Ekteki dosyada A sütununa girdiğiniz verilerin karşılığını b ve c de bulur.(Döngü ile istediğiniz aralığa kadar işlem görmektedir.)
 
Katılım
22 Aralık 2006
Mesajlar
133
Excel Vers. ve Dili
excel 2003
Tammam.teşekkürler gözden kaçırmışım.İyi akşamlar dilerim.
 
Katılım
2 Mart 2005
Mesajlar
92
V.Basic For Applications, teşekkür ederim.
 
Üst