• DİKKAT

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

Bilgi Ekranı Hk. Görüş ve Yardım

Katılım
14 Haziran 2007
Mesajlar
142
Excel Vers. ve Dili
2007
Merhabalar,

Üzerinde çalıştığım bir tablom da bilgi ekranı gibi bir şey yapmak istiyorum.

Tam olarak adının ne olduğunu bilmediğimi için doğru düzgün bir arama da yapmadım.

Ekte kısaca da bahsetmiş olduğum konu hakkında, görüşlerinizi ve yardımlarınızı beklerim.


Şimdiden teşekkürler.



Var8pv.jpg



http://s8.dosya.tc/server2/v4o7go/sicil.JPG.html
 
Örnek dosyanızı ekler misiniz ?
 
Merhaba
Sayfanın kod bölümüne ekleyin. G sütununda sicil kaydı yazıyorsa istediğiniz bilgileri çıkarır.
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim S1 As Worksheet, STR As Long
If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
Set S1 = Sheets("sicil")
With WorksheetFunction
If .Proper(Target) = "Sicil Kartı" Then
If .CountIf(S1.Range("C:C"), Cells(Target.Row, "A")) = 0 Then
MsgBox "Kişi Bulunamadı"
Exit Sub
Else
STR = .Match(Cells(Target.Row, "A"), S1.Range("C:C"), 0)
MsgBox "Çalıştığı Tesis : " & S1.Cells(STR, "A") & vbLf _
& "Sicil No            : " & S1.Cells(STR, "B") & vbLf _
& "Giriş Ayı           : " & S1.Cells(STR, "D") & vbLf _
& "Net Maaş         : " & S1.Cells(STR, "J")
End If: End If: End With
End Sub
Eğer ki ismi bulamazsa ileti çıkarır uyarır.
 
Merhaba
Sayfanın kod bölümüne ekleyin. G sütununda sicil kaydı yazıyorsa istediğiniz bilgileri çıkarır.
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim S1 As Worksheet, STR As Long
If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
Set S1 = Sheets("sicil")
With WorksheetFunction
If .Proper(Target) = "Sicil Kartı" Then
If .CountIf(S1.Range("C:C"), Cells(Target.Row, "A")) = 0 Then
MsgBox "Kişi Bulunamadı"
Exit Sub
Else
STR = .Match(Cells(Target.Row, "A"), S1.Range("C:C"), 0)
MsgBox "Çalıştığı Tesis : " & S1.Cells(STR, "A") & vbLf _
& "Sicil No            : " & S1.Cells(STR, "B") & vbLf _
& "Giriş Ayı           : " & S1.Cells(STR, "D") & vbLf _
& "Net Maaş         : " & S1.Cells(STR, "J")
End If: End If: End With
End Sub
Eğer ki ismi bulamazsa ileti çıkarır uyarır.


Hocam ellerine kollarına sağlık tam aradığım gibi olmuş.

Bende düşeyarayla birşeyler yapmaya çalışıyordum. Tekrar teşekkür ederim.
 

Ustam bir konu hakkında görüşünü almak isterim.

Göndermiş olduğun kodlamada hiç bir problem yok. Ancak ben kendi ana dosyama uyarlamaya çalıştığımda hatalar alıyorum.

Bunun nedeni ise Rapor sayfamda bir button var ve bu buttona bastığımda sayfayı temizliyor arkasından seçilmiş kriterlere göre verileri getiriyor.

Bu nedenle de

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

olayı sırasında daha sayfada veri olmadığı için

STR = .Match(Cells(Target.Row, "A"), S11.Range("C:C"), 0)

hata veriyor.

Bu kodlamayı en son çalışsın diye modüle almaya çalıştım ancak başarılı olamadım.

Bu konuyla ilgili bir önerin olabilir mi?
 
Merhaba
Önceki verdiğim kodu şuna göre düzenleyin.
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'------






'-------------
seç
End Sub
Sonra boş bir module
Kod:
Option Explicit
Sub seç()
Dim S1 As Worksheet, STR As Long
Set S1 = Sheets("sicil")
With WorksheetFunction
If .Proper(ActiveCell) = "Sicil Kartı" Then
If .CountIf(S1.Range("C:C"), Cells(ActiveCell.Row, "A")) = 0 Then
MsgBox "Kişi Bulunamadı"
Exit Sub
Else
STR = .Match(Cells(ActiveCell.Row, "A"), S1.Range("C:C"), 0)
MsgBox "Çalıştığı Tesis : " & S1.Cells(STR, "A") & vbLf _
& "Sicil No            : " & S1.Cells(STR, "B") & vbLf _
& "Giriş Ayı           : " & S1.Cells(STR, "D") & vbLf _
& "Net Maaş         : " & S1.Cells(STR, "J")
End If: End If: End With
End Sub
Bu kodu ekleyin ve deneyin.
 
Son düzenleme:
Merhaba
Önceki verdiğim kodu şuna göre düzenleyin.
Kod:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'------






'-------------
seç
End Sub
Sonra boş bir module
Kod:
Option Explicit
Sub seç()
Dim S1 As Worksheet, STR As Long
Set S1 = Sheets("sicil")
With WorksheetFunction
If .Proper(ActiveCell) = "Sicil Kartı" Then
If .CountIf(S1.Range("C:C"), Cells(ActiveCell.Row, "A")) = 0 Then
MsgBox "Kişi Bulunamadı"
Exit Sub
Else
STR = .Match(Cells(Target.Row, "A"), S1.Range("C:C"), 0)
MsgBox "Çalıştığı Tesis : " & S1.Cells(STR, "A") & vbLf _
& "Sicil No            : " & S1.Cells(STR, "B") & vbLf _
& "Giriş Ayı           : " & S1.Cells(STR, "D") & vbLf _
& "Net Maaş         : " & S1.Cells(STR, "J")
End If: End If: End With
End Sub
Bu kodu ekleyin ve deneyin.


Hocam dediğin gibi yaptım.

STR = .Match(Cells(Target.Row, "A"), S11.Range("C:C"), 0)

satırında

Target işaretli olarak,

Compile error:
Variable not defined

hata mesajı veriyor.
 
Hocam dediğin gibi yaptım.

STR = .Match(Cells(Target.Row, "A"), S11.Range("C:C"), 0)

satırında

Target işaretli olarak,

Compile error:
Variable not defined

hata mesajı veriyor.


Ustam sorunu

satir = ActiveCell.Row

STR = .Match(Cells(satir, "A"), S1.Range("C:C"), 0)

yaparak çözdüm.

Sıkıntı olmadan da çalıştı.

Yardımların için çok teşekkür ederim.
 
Geri
Üst