• DİKKAT

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

sayfalar arasından veri almak.

Katılım
1 Nisan 2011
Mesajlar
22
Excel Vers. ve Dili
excel 2003 tr
merhabalar.
Ben bir excel dosyasında mevcut olan bir sayfadaki verileri sıralı bir şekilde alıp birinci sayfadaki boşlukları doldurmak istiyorum.

ileri düğmesine bastığımda bir sonraki veri grubu çıksın istiyorum.geri düğmesinde ise bi önceki veri grubu çıksın istiyorum.

örnek olarak ekteki dosyada

ADI SOYADI
GÖREVİ
İŞE BAŞLAMA TARİHİ
DOĞUM TARİHİ
KAN GRUBU
GÖREV YERİ

olarak belirtmiş olduğumuz listeye ileriki dediğimiz zaman ikinci sayfada bizim önceden girdiğimiz bilgiler gelecek.Biz bu bilgileri printerde bastırdıktan sonra sonraki kaydı bastıracağız bu şekilde devam edecek.

Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

@nevermore çok teşekkür ederim.
bunu ileri - geri butonları ile yapabilirmiyiz?
bu özelliği nasıl eklediniz öğrenebilirmiyim?
 
dediğiniz gibi ikinci sayfada verilerin olduğu alanı seçtim ve bu alanı EKLE-AD-TANIMLA diyerek ALİ_VELİ adını verdim.
Bİrinci sayfada ise VERİ-DOĞRULAMA seçeneğinden LİSTE kaynak olarakta ALİ_VELİ dedim.
fakat birinci sayfada hep seçtiğimde sadece ALİ_VELİ çıkıyor.
 
kaynak kısmına
=ALİ_VELİ yazmanız gerekiyor.
 
gönderdiğiniz örnekten çalışarak şu şekilde çalıştırmayı başardım :

sayfa2 de tanımlı olan isimlerin olduğu sütunu tamamen seçtim.
EKLE-AD-TANIMLA diyerek AD adı altında bir tanımlama gerçekleştirdim.
başvuru yeri olarakta =Sayfa2!$A:$A yani sayfa2 de tanımlı olan isimlerin olduğu sütunu seçtim.

bu sayfada işimiz bitti.

birinci sayfaya gelelim.
bu sayfada karşılığına verilerimizi yerleştireceğimiz en üst satırın bir satır üzerine geldim .
Burada VERİ-DOĞRULAMA-İZİN VERİLEN seçeneğinden LİSTE yi seçtim
kaynak olarakta =AD dedim
bu bize sayfa2 de sutun 1 den çağıracağımız verileri çağırmaya yaradı.

şimdi asıl atladığım yere gelelim.
Karşısına verilerimizi yazdıracağımız yere

=KAYDIR(Sayfa2!$A$1,KAÇINCI($B$1,Sayfa2!$A$2:$A$65536,0),0) bu kodu girdim
her satırda kodu bir artırdım.
=KAYDIR(Sayfa2!$A$1,KAÇINCI($B$1,Sayfa2!$A$2:$A$65536,0),1) gibi.
bu sayede her seferinde bir sonraki satırı gösterdi.

teşekkürler nevermore.
 
gerçekten yapmak istediğim buydu :)

sanırım listelemeye kadar olan yeri sizde aynı yapmışsınız.fakat düğme ve kayıt sayılarını nasıl yaptığınızı paylaşırsanız çok mutlu olurum.
teşekkürler.


Edit : sanırım siz VERİ-DOĞRULAMA-LİSTE özelliğini değilde farklı bir listeleme yöntemi kullanmışsınız.
 
Merhaba,

İlgili açklamaları aşağıda bulabilirsin!!

'sayfa 1 e; 1 adet combobox ( karma kutu ),2 adet commandbutton ekledim.aşağıda bu nesneler ile yaptığım işleri kodların yanlarına yaptığım açıklamalar ile anlatacağım.

Private Sub ComboBox1_Change() ' commbobox -açılır liste kutusunun içindeki verinin değişmesi ile oluşan olaylar
Range("G1").Value = ComboBox1.ListIndex + 1 ' G1 hücresine; combobaxta gösterilen verinin listindex ( sırano ) değerini 1 artırarak ( çünkü listindex sıfırdan başlıyor ) yazdırılıyor.
ComboBox1.ListRows = Range("I1").Value ' combobxun aşağı açılırken listedeki veri sayısına ( örn: 10 veri listeleniyorsa ) göre açılamsı için I1 hücresindeki comboboxun listrows sayısına eşitleniyor.
End Sub

Private Sub CommandButton1_Click() ' geri işlemi
On Error Resume Next ' herhangi birhata sözkosu olduğunda devam edilmesi için kullanılan kod satırı
ComboBox1.ListIndex = ComboBox1.ListIndex - 1 ' butona her basıldığında bir geriye gidilebilmesi için comboboxun listindex ( sıranosu ) değeri 1 eksiltilerek önceki veriye gidilmesi seçiliyor.
If Range("G1").Value < 1 Then ' Burada ise buton ile geri gidilirken listedeki 1 nolu veride ( ilk kayıtda ) olduğumuzu G1 hücresindeki değer 1 ile kaşılaştırılarak öğrenliyor.
MsgBox "İlk kayıttasınız!" 'mesaj kutusu ilede bu durum bildiriliyor.
ComboBox1.ListIndex = ComboBox1.ListIndex + 1 'buradada 1 den daha önceki kayıttın seçilmememsi için listindex değeri 1 artlıyor geriye yani sıfırdan 1 e çıkarılıyor.
End If
End Sub

Private Sub CommandButton2_Click() 'ileri işlemi
On Error Resume Next 'herhangi birhata sözkosu olduğunda devam edilmesi için kullanılan kod satırı
ComboBox1.ListIndex = ComboBox1.ListIndex + 1 ' butona her basıldığında bir ileriye gidilebilmesi için comboboxun listindex ( sıranosu ) değeri 1 artırılarak önceki veriye gidilmesi seçiliyor.
If ComboBox1.Value = "" Then ' Burada ise buton ile ileri gidilirken listedeki son veride ( sonkayıtda ) olduğumuzu combobx değerinin boş olması ile kaşılaştırılarak öğrenliyor.
MsgBox "Son kayıttasınız!" 'mesaj kutusu ilede bu durum bildiriliyor.
ComboBox1.ListIndex = ComboBox1.ListIndex - 1 'buradada combboxdaki son kayıttan sonra seçim yapılmaması için listindex değeri 1 eksiltiliyor önceye yani son kaydın sıranosuna azaltılıyor..
End If
End Sub

'ayrıca listedeki ( sayfa 2 deki ) veri içeren dolu veri sayısı ( toplam kayıt sayısı ) =EĞERSAY(Sayfa2!A2:A50;"*") formülü ile I1 hücresine yazdırılıyor.
 
açıklamalarınız ve vakit ayırıp zahmet ettiğiniz için çok teşekkür ederim.
Gayet net ve anlaşılır bir açıklama olmuş.
Umarım benim gibi ihtiyacı olan arkadaşlarda bu açıklamalardan faydalanır.
 
Rica ederim...
 
son olarak,peki bunları makro ile mi yaptınız?ben makro kodlarına ulaşamadım?kendim makro ile yaptığımda butonlar düzenlemeye uygun hale geliyor.
fakat sizinkinde kodları göremiyorum.

denetim araç kutusu altında objeleri oluşturup kodlarıda sayfaya sağ tıklayıp kodu görüntüle seçeneği ile yazdım çalıştı.
 
Son düzenleme:
Geri
Üst