- Katılım
- 20 Ekim 2005
- Mesajlar
- 299
- Excel Vers. ve Dili
- excel 2010 Türkçe
- Altın Üyelik Bitiş Tarihi
- 28/06/2023
merhaba arkdaşlar sitenin yardımıyla okul için kurs takip çalışması yapmaya çalışıyorum .Arama işleminde takıldım .Ben ara sayfasında isim veya numara girince veri sayfasındaki o isme ait numaraları ve isimleri sırasın istiyorum .Çünkü birden fazla kayıt olabiliyor.Ben ara sayfasında bilgileri b sütununda arama için şu makroyu kullandım
Private Sub Worksheet_Change(ByVal Hedef As Range)
On Error Resume Next
If Hedef.Value = "" Then GoTo 10
With Sheets("veri")
Select Case Hedef.Address(0, 0)
Case Is = "A2"
i = .Range("a2:a" & .Range("a65536") _
.End(3).Row).Find(Hedef.Value, , , 1).Row
Case Is = "B2"
i = .Range("c2:c" & .Range("c65536") _
.End(3).Row).Find(Hedef.Value, , , 1).Row
Case Else
GoTo 10
End Select
If Err Then GoTo hata
Range("b5").Value = .Cells(i, "a").Value
Range("b6").Value = .Cells(i, "c").Value
Range("b7").Value = .Cells(i, "e").Value
Range("b8").Value = .Cells(i, "g").Value
Range("b9").Value = .Cells(i, "I").Value
Range("b10").Value = .Cells(i, "k").Value
Range("b11").Value = .Cells(i, "o").Value
Range("b12").Value = .Cells(i, "q").Value
Range("b13").Value = .Cells(i, "s").Value
Range("b14").Value = .Cells(i, "m").Value
Range("b16").Value = .Cells(i, "w").Value
'**********
' ya da
'Range("b16").Value = cdbl(.Cells(i, "m").Value) - ( _
cdbl(.Cells(i, "o").Value) + _
cdbl(.Cells(i, "q").Value) + _
cdbl(.Cells(i, "s").Value))
10 Exit Sub
hata:
If Err Then
MsgBox "Aradığınız veri listede yok. ", vbInformation, "www.excel.web.tr"
Err.Clear
Range("b5:b16").ClearContents
End
End If
End With
End Sub
ama birden fazla kaydı listeleyemediğim için vaz gçtim bu yöndemden şimdi yatayda nasıl yaptırabiliriz yardımlarınızı bekliyorum .
textbox kullanarak da olabilir.
Private Sub Worksheet_Change(ByVal Hedef As Range)
On Error Resume Next
If Hedef.Value = "" Then GoTo 10
With Sheets("veri")
Select Case Hedef.Address(0, 0)
Case Is = "A2"
i = .Range("a2:a" & .Range("a65536") _
.End(3).Row).Find(Hedef.Value, , , 1).Row
Case Is = "B2"
i = .Range("c2:c" & .Range("c65536") _
.End(3).Row).Find(Hedef.Value, , , 1).Row
Case Else
GoTo 10
End Select
If Err Then GoTo hata
Range("b5").Value = .Cells(i, "a").Value
Range("b6").Value = .Cells(i, "c").Value
Range("b7").Value = .Cells(i, "e").Value
Range("b8").Value = .Cells(i, "g").Value
Range("b9").Value = .Cells(i, "I").Value
Range("b10").Value = .Cells(i, "k").Value
Range("b11").Value = .Cells(i, "o").Value
Range("b12").Value = .Cells(i, "q").Value
Range("b13").Value = .Cells(i, "s").Value
Range("b14").Value = .Cells(i, "m").Value
Range("b16").Value = .Cells(i, "w").Value
'**********
' ya da
'Range("b16").Value = cdbl(.Cells(i, "m").Value) - ( _
cdbl(.Cells(i, "o").Value) + _
cdbl(.Cells(i, "q").Value) + _
cdbl(.Cells(i, "s").Value))
10 Exit Sub
hata:
If Err Then
MsgBox "Aradığınız veri listede yok. ", vbInformation, "www.excel.web.tr"
Err.Clear
Range("b5:b16").ClearContents
End
End If
End With
End Sub
ama birden fazla kaydı listeleyemediğim için vaz gçtim bu yöndemden şimdi yatayda nasıl yaptırabiliriz yardımlarınızı bekliyorum .
textbox kullanarak da olabilir.
Ekli dosyalar
-
137.5 KB Görüntüleme: 11