Userforma iki farklı sayfadan veri almak

Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
aşağıdaki kod ile Bordro sayfasından userforma verileri alıyorum. Aynı userforma Personel_bilgi sayfasından da veri almak istiyorum. Yardımlarınız için teşekkür ederim.





Private Sub CommandButton1_Click()
Sheets("Bordro").Select
If TextBox65.Value = "" Or TextBox65.Value = 0 Or TextBox65.Value = " " Then
MsgBox "Text kutusu boş. Lütfen bir değer giriniz.."
Exit Sub
End If
'On Error Resume Next
'Cells.Find(What:=TextBox65.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
':=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
'True, SearchFormat:=False).Activate
Set bul = Columns("B:Bw").Find(TextBox65.Value, , xlValues, xlWhole)

If bul Is Nothing Then
MsgBox "Aradığınız veri bulunamadı. Lütfen yaptığınız girişi kontrol ediniz."
Exit Sub
End If
Cells(bul.Row, 1).Select
TextBox1.Value = ActiveCell.Value 'Sıra No
TextBox2.Value = ActiveCell.Offset(0, 1).Value 'Personel No
TextBox3.Value = ActiveCell.Offset(0, 2).Value 'Ünvanı
TextBox4.Value = ActiveCell.Offset(0, 3).Value 'Adı
TextBox5.Value = ActiveCell.Offset(0, 4).Value 'Soyadı
TextBox6.Value = ActiveCell.Offset(0, 5).Value 'Aylık Derece Kademe 1
TextBox7.Value = ActiveCell.Offset(0, 6).Value 'Kademe 1
TextBox8.Value = ActiveCell.Offset(0, 9).Value 'Medeni Hali
TextBox9.Value = ActiveCell.Offset(0, 13).Value 'Gösterge
TextBox10.Value = ActiveCell.Offset(0, 15).Value 'Ek Gösterge
TextBox11.Value = ActiveCell.Offset(0, 18).Value 'Kıdem Yılı
TextBox12.Value = ActiveCell.Offset(0, 26).Value 'Kıstas Aylık Oranı
TextBox13.Value = ActiveCell.Offset(0, 48).Value 'Emekli Sicil No
TextBox14.Value = ActiveCell.Offset(0, 47).Value 'TC.-Vergi Kimlik No
TextBox15.Value = ActiveCell.Offset(0, 46).Value 'Banka Hesap No
TextBox30.Value = ActiveCell.Offset(0, 14).Value 'Aylık
TextBox31.Value = ActiveCell.Offset(0, 16).Value 'Ek Gösterge
TextBox32.Value = ActiveCell.Offset(0, 17).Value 'Taban Aylık
TextBox33.Value = ActiveCell.Offset(0, 19).Value 'Kıdem Aylığı
TextBox34.Value = ActiveCell.Offset(0, 21).Value 'Çocuk Yardımı
TextBox35.Value = ActiveCell.Offset(0, 23).Value 'Aile Yardımı
TextBox36.Value = ActiveCell.Offset(0, 36).Value 'Yan Ödeme
TextBox37.Value = ActiveCell.Offset(0, 25).Value 'Özel Hizmet Tazminatı
TextBox38.Value = ActiveCell.Offset(0, 29).Value 'Yargı Ödeneği
TextBox39.Value = ActiveCell.Offset(0, 27).Value 'Kıstas Aylık
TextBox40.Value = ActiveCell.Offset(0, 31).Value 'Denge Tazminatı
TextBox41.Value = ActiveCell.Offset(0, 37).Value '% 20 Emekli keseneği
TextBox42.Value = ActiveCell.Offset(0, 32).Value 'Sendika ödeneği
TextBox43.Value = ActiveCell.Offset(0, 68).Value 'Vergi iade
TextBox44.Value = ActiveCell.Offset(0, 69).Value 'Mesai
TextBox45.Value = ActiveCell.Offset(0, 95).Value 'Artış keseneği
TextBox46.Value = ActiveCell.Offset(0, 67).Value 'kesif Ücreti
TextBox47.Value = ActiveCell.Offset(0, 57).Value 'Fark Tazminatı
TextBox50.Value = ActiveCell.Offset(0, 40).Value 'Gelir Vergisi
TextBox51.Value = ActiveCell.Offset(0, 41).Value 'Damga Vergisi
TextBox52.Value = ActiveCell.Offset(0, 38).Value '% 16 Emekli keseneği
TextBox53.Value = ActiveCell.Offset(0, 37).Value '% 20 Emekli keseneği
TextBox54.Value = ActiveCell.Offset(0, 51).Value 'Büro Emekçileri
TextBox55.Value = ActiveCell.Offset(0, 52).Value 'Bağımsız Büro
TextBox56.Value = ActiveCell.Offset(0, 71).Value 'İcra Kesintisi
TextBox57.Value = ActiveCell.Offset(0, 43).Value 'Kefalet Kesintis
TextBox58.Value = ActiveCell.Offset(0, 63).Value 'İlaç Kesintisi
TextBox59.Value = ActiveCell.Offset(0, 72).Value 'Lojman Kirası
TextBox60.Value = ActiveCell.Offset(0, 112).Value 'Artış Keseneği
TextBox61.Value = ActiveCell.Offset(0, 59).Value 'Yemek Kesintisi
TextBox62.Value = ActiveCell.Offset(0, 70).Value 'Fon kesintisi
TextBox63.Value = ActiveCell.Offset(0, 64).Value 'Askerlik Borçlanması
TextBox48.Value = ActiveCell.Offset(0, 73).Value 'Maaş Farkı
'Formunuz Üzerindeki Textbox'ların Veri Alacağı Satırları Bu Şekilde Ayarlayın.
'GERİSİNİ SİZE BIRAKTIM.
Dim topla1, topla2 As Single
For X = 30 To 48 'Burayı Textbox sayısına göre düzeltiniz.
If IsNumeric(Controls("TextBox" & X)) Then
topla1 = topla1 + Controls("TextBox" & X) * 1
End If
Next
TextBox67 = topla1
topla = 0
For X = 50 To 63 'Burayı Textbox sayısına göre düzeltiniz.
If IsNumeric(Controls("TextBox" & X)) Then
topla2 = topla2 + Controls("TextBox" & X) * 1
End If
Next
TextBox68 = Format(topla2, "#,##0.00")
TextBox69 = Format(TextBox67, "#,##0.00") - Format(TextBox68, "#,##0.00")
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar

bul adlı değişkeni, Personel_Bilgi sheet'i için tekrar set etmelisiniz.

NOT : Kırmızı ile belirtilen yerleri kendinize uyarlamalısınız.

Kod:
[COLOR=gray]Private Sub CommandButton1_Click()[/COLOR]
[COLOR=gray]Sheets("Bordro").Select[/COLOR]
[COLOR=gray]........[/COLOR]
[COLOR=gray]'Kodlarınız[/COLOR]
[COLOR=gray]........[/COLOR]
[COLOR=gray]'Formunuz Üzerindeki Textbox'ların Veri Alacağı Satırları Bu Şekilde Ayarlayın.[/COLOR]
[COLOR=gray]'GERİSİNİ SİZE BIRAKTIM.[/COLOR]
 
Set bul = Sheets("Personel_bilgi").Columns("[COLOR=red][B]B:Bw[/B][/COLOR]").Find([COLOR=red][B]TextBox65.Value[/B][/COLOR], , xlValues, xlWhole)
[COLOR=green]' BU SATIRI KENDİNİZE GÖRE DÜZENLEYİNİZ. Hangi sütun(lar) da ne aranacaksa ...[/COLOR]
If bul Is Nothing Then
   MsgBox "Personel bilgi sayfasında istenen bulunamadı"
else
   Textbox100.Value=Sheets("Personel_bilgi").Cells(bul.row,[COLOR=red][B]1[/B][/COLOR])
[COLOR=green]'BU KISMA hangi TextBox'lara bilgi alacaksanız onları yazını.   [/COLOR]
end if
[COLOR=gray]......[/COLOR]
[COLOR=gray]Diğer kodlarınız[/COLOR]
[COLOR=gray]......[/COLOR]
[COLOR=gray]End Sub[/COLOR]
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
sayın fpc ilgilendiğiniz için teşekkür ederim. ama yukarıdaki kodları sanırsam yerleştiremiyorum ve sanırsam da yerleştiremeyeceğim

Textbox100.Value=Sheets("Personel_bilgi").Cells(bul.row,1) bu bir ne yi ifade ediyor. yani anlayamadım
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Farazi olarak, Userformunuzun üstünde Textbox100 adında bir Textbox olduğunu varsaydım.

Bu Textbox'a, Personel_bilgi sayfasındaki, bulunan hücrenin satırı ile 1 nolu (A sütunu) sütunun kesiştiği hücrenin değeri yükleniyor.
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
ya pardon hocam sonradan çözdüm. çok teşekkür ederim. ellerinize sağlık
 
Üst