Hatırlatma programı foruma eklenmiştir.
http://www.excelce.net/forum/index.php?topic=1661.0

Gönderen Konu: [Çözüldü] Onay Kutusu ile sayfaya veri çekme  (Okunma sayısı 11219 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı orhanacan

  • Excelce Onbaşı
  • **
  • İleti: 51
  • Puan +2/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • webizci
  • Ad Soyad: orhan acan
  • İl / İlçe: ankara
  • Mesleğiniz: memur
[Çözüldü] Onay Kutusu ile sayfaya veri çekme
« : 14 Mart 2011, 21:27:05 »
Merhaba, sayfada satırda bulunan onay kutusu işaretli olanların başka sayfada listelenmesini nasıl sağlayabileceğim konusunda yardımcı olacak arkadaşlarım var mı acaba? Örnek Uygulamamda sorunu anlatmaya çalıştım. Amaç sayfada isteğe bağlı veriler satırlara girildiğinde en sonda bulunan onay kutularından seçme yaparak (seçilmiş olanların) diğer sayfaya isteğe bağlı sütun başlıkları altında alt alta nasıl sıralayabiliriz? Tabii bunun alternatif çözümünü sunacak arkadaşlarada teşekkürlerimi sunarım. Uygulamada sorunun çözümü anlaşılması adına makbule geçecektir. Saygılarımla...


(Çözüm içerek dosya eklendiğinden dolayı, buradaki ek silinmiştir. - Bülent)
« Son Düzenleme: 15 Mart 2011, 17:14:00 Gönderen: Bülent Öztürk »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Onay Kutusu ile sayfaya veri çekme(Yardım)
« Yanıtla #1 : 15 Mart 2011, 08:44:50 »
Merhaba Orhan Bey.

Sayfanızda "CheckBox" yerine "Onay Kutusu" kullandık ve hücre bağlantılarını bulundukları satıra ayarladık.

Aşağıdaki kod ile sütunda işaretli olanları taratıp LISTE sayfasına gönderdik.

Kod: [Seç]
Sub SecilenleriGonderExcelce()
Dim bulent As Long
Dim son As Long
On Error GoTo hata
For bulent = 9 To Range("F65530").End(3).Row
    If Range("F" & bulent).Value = True Then
        son = Worksheets("LISTE").Range("A65530").End(xlUp).Row + 1
        Worksheets("LISTE").Range("A" & son) = Range("A" & bulent)
        Worksheets("LISTE").Range("B" & son) = Range("B" & bulent)
        Worksheets("LISTE").Range("C" & son) = Range("C" & bulent)
        Worksheets("LISTE").Range("D" & son) = Range("D" & bulent)
        Worksheets("LISTE").Range("E" & son) = Range("E" & bulent)
    End If
Next bulent
MsgBox "İşlem tamam.", vbInformation, "Excelce.Net"
Exit Sub
hata:
MsgBox Err.Description, vbCritical, "Hata oluştu:" & Err.Number
End Sub

Dosyanızın düzenlenmiş hali ektedir.

[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]
« Son Düzenleme: 15 Mart 2011, 17:07:50 Gönderen: Bülent Öztürk »
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı orhanacan

  • Excelce Onbaşı
  • **
  • İleti: 51
  • Puan +2/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • webizci
  • Ad Soyad: orhan acan
  • İl / İlçe: ankara
  • Mesleğiniz: memur
Ynt: Onay Kutusu ile sayfaya veri çekme(Yardım)
« Yanıtla #2 : 15 Mart 2011, 16:06:24 »
Bülent hocam, Acizane sualim sitemizde ilk yardım isteğim olması bir yana öncelikle lütfen..! iltifat olarak kabul buyurmayın ama bilgi de insanımıza verdiğiniz hizmet, özveri ve bu ulvi hizmetteki sabrınızdan dolayı ayrıca teşekkürlerimi sunarım. Dünyanın en zor işi insanlara hizmet vermektir. (helekine karşılıksız) Bunu yaşayan biri olarak söylemek istedim. Herşeye rağmen teşbihte hata olmasın bilgisizlik tahta kurusu gibi ihtiyacı olanı yer bitirir. Günlerdir bu konunun, ihtiyacım olan bu sorunun cevabını aradım ve cevap verecek bir ustamızı bekledim. Ben, sorunuma cevap vermeniz bir yana ilgilendiğiniz için teşekkür ederim. Bilgi kulvarınızda yol aldığınız, hizmet ve yardımlarınızı esirgemeden çalışmalarınızdan dolayı sizleri tebrik eder, herşeyin gönlünüzce olmasını dilerim. Saygılarımla...

Ayrıca hocam, özür diliyerek uygulama istediğim gibi olmuş, Acaba..! bilgilerin aktarılan listede sıra numarası ile butona her tıkladığımızda aynı bilgileri tekrar gelmemesi için ne yapmamız gerektiği hususunda da örnek uygulamada açıklayabilirseniz memnun olurum. Hali hazır durumda bilgiler Liste sayfasına aktarıldığında tekrar butona bastığında aynı veriler varsa tekrar eklemese ve sıra numarasını 1 den başlatmak mümkün müdür? tekrar saygılarımla...

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Onay Kutusu ile sayfaya veri çekme(Yardım)
« Yanıtla #3 : 15 Mart 2011, 16:49:56 »
Onur verici sözleriniz için teşekkür ederim Orhan bey.  :-[  :saygilar

Forumu açmamız yardımlaşma sebebiyle olduğundan, soru sormanız veya sorularınızı arttırmanız, devam ettirmenizde hiç bir sakınca yoktur.

Sorunuza gelince, dosyanızın yeni hali ektedir.

Kod: [Seç]
Sub SecilenleriGonderExcelce()
Dim bulent As Long
Dim son As Long, say As Long
Dim mukerrer As Range
On Error GoTo hata
say = 0
For bulent = 9 To Range("F65530").End(3).Row
    If Range("F" & bulent).Value = True Then
        son = Worksheets("LISTE").Range("B65530").End(xlUp).Row + 1
            For Each mukerrer In Worksheets("LISTE").Range("B3:B" & son)
                If mukerrer.Value = Range("B" & bulent) And _
                    mukerrer.Offset(0, 1).Value = Range("C" & bulent) And _
                    mukerrer.Offset(0, 2).Value = Range("D" & bulent) And _
                    mukerrer.Offset(0, 3).Value = Range("E" & bulent) Then
                    GoTo mevcut
                End If
            Next mukerrer
        'Worksheets("LISTE").Range("A" & son) = Range("A" & bulent)
        Worksheets("LISTE").Range("B" & son) = Range("B" & bulent)
        Worksheets("LISTE").Range("C" & son) = Range("C" & bulent)
        Worksheets("LISTE").Range("D" & son) = Range("D" & bulent)
        Worksheets("LISTE").Range("E" & son) = Range("E" & bulent)
        say = say + 1
    End If
mevcut:
Next bulent
MsgBox "İşlem tamam." & vbNewLine & say & " kayıt aktarıldı.", vbInformation, "Excelce.Net"
Exit Sub
hata:
MsgBox Err.Description, vbCritical, "Hata oluştu:" & Err.Number
End Sub

Sıra numarasını aldırmayıp, LISTE sayfasında formül ve koşullu biçimlendirme ile yapıp,
kayıt kontrolü için mevcut kodun arasına bir döngü de kontrol için eklemiş olduk.
Uzun listelerde çalışmayı yavaşlatabilir, bilginiz olsun.

[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı orhanacan

  • Excelce Onbaşı
  • **
  • İleti: 51
  • Puan +2/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • webizci
  • Ad Soyad: orhan acan
  • İl / İlçe: ankara
  • Mesleğiniz: memur
Ynt: Onay Kutusu ile sayfaya veri çekme(Yardım)
« Yanıtla #4 : 15 Mart 2011, 17:09:49 »
Bülent hocam, teşekkür ederim. Sorun çözülmüştür. Teşekkür ederim. :yihu Saygılarımla...
« Son Düzenleme: 15 Mart 2011, 17:11:38 Gönderen: Bülent Öztürk »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Onay Kutusu ile sayfaya veri çekme(Yardım)
« Yanıtla #5 : 15 Mart 2011, 17:12:28 »
Rica ederim. Çözüldüğüne sevindim.  :yihu

Çalışmalarınızda başarılar.
Saygılar.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)