AccessTr.neT

Tam Versiyon: Vba İndis Kısaltma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s1 As Worksheet
Dim s2 As Worksheet
Set s1 = Sheets("Okul")
Set s2 = Sheets("İlçe")
s2.Range("G9") = WorksheetFunction.VLookup(s2.Range("B9"), s1.Range("B9:h54"), 4, 0)
s2.Range("H9") = WorksheetFunction.VLookup(s2.Range("B9"), s1.Range("B9:h54"), 5, 0)
s2.Range("G10") = WorksheetFunction.VLookup(s2.Range("B10"), s1.Range("B9:h54"), 4, 0)
s2.Range("H10") = WorksheetFunction.VLookup(s2.Range("B10"), s1.Range("B9:h54"), 5, 0)
s2.Range("G11") = WorksheetFunction.VLookup(s2.Range("B11"), s1.Range("B9:h54"), 4, 0)
s2.Range("H11") = WorksheetFunction.VLookup(s2.Range("B11"), s1.Range("B9:h54"), 5, 0)

End Sub

Ustam ben bildiğim şekilde yaptım ama bayağı uzun bir iş oldu.

dosya ekte gönderilmiştir. İlçe sayfasında B9:B54 arasında bir hücreye tıklayınca Okul sayfasında ki bilgileri getiriyor.

Bu kodu en kısa şekli ile düğmeye bağlamak istiyorum. Yardımcı olabilir misiniz?
bu soru da fonksiyona gerek var mı ki?
doğrudan hücre içi düşeyAra kullanılamaz mı?
erkeklerin olduğu G9 için =DÜŞEYARA(B9;Okul!B9:G54;4;YANLIŞ)
kadınların olduğu H9 için =DÜŞEYARA(B9;Okul!B9:G54;5;YANLIŞ)
toplam sayının olduğu I9 için =DÜŞEYARA(B9;Okul!B9:G54;6;YANLIŞ)
formüllerini girip aşağı sürüklemeniz yeterli bence
ustam
erkeklerin olduğu G9 için =İNDİS(Okul!$E$9:$E$54;KAÇINCI(B9;Okul!$B$9:$B$54;0))
kadınların olduğu H9 için =İNDİS(Okul!$F$9:$F$54;KAÇINCI(B9;Okul!$B$9:$B$54;0))
toplam sayının olduğu I9 için =İNDİS(Okul!$G$9:$G$54;KAÇINCI(B9;Okul!$B$9:$B$54;0))
formülünü kullanıyorum.
Eyvallah. Ama yine de makrosunu öğrenmek isterim.
kodu aşağıdaki gibi düzenleyebilirsiniz?
burada b sütununda aşağı gidildikçe o satıra değer gelir
yok eğer ben b de harekettiğimde hepsi gelsin derseniz o da yapılır ama fazla veri olduğunda ağırlaşabilir
If Not Intersect(Target, Range(" B9:B54")) Is Nothing Then
Dim s1 As Worksheet
Dim s2 As Worksheet
Set s1 = Sheets("Okul")
Set s2 = Sheets("İlçe")
StrNo = Target.Row
s2.Range("G" & StrNo) = WorksheetFunction.VLookup(s2.Range("B" & StrNo), s1.Range("B9:h54"), 4, 0)
s2.Range("H" & StrNo) = WorksheetFunction.VLookup(s2.Range("B" & StrNo), s1.Range("B9:h54"), 5, 0)

End If
Ustam
StrNo = Target.Row

ile ne söylemek istedik kod kısmına
StrNo = Target.Row
Target.Row bulunulan hücrenin satır numarası
eğer biz B20 de isek bize 20 değerini verir
Sayfalar: 1 2