VBA Kod Destek - Nerede Hata Yapıyorum?

Çözüldü VBA Kod Destek - Nerede Hata Yapıyorum?

  • Konuyu başlatan Konuyu başlatan ycicek
  • Başlangıç tarihi Başlangıç tarihi

ycicek

Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sevgili ExcelDestek.Com Üstadları,

VBA Kodlamayı video izleyerek öğrenmeye çalıştığım için bir yerlerde hata yapıyorum. Bulamıyorum. Desteklerinize, tavsiye ve önerilerinize ihtiyacım var.Şimdiden teşekkür ediyorum.

SORULAR

1.
Tahsilat Giriş Ekranı Formu ( Bu formda kodlama hatası yaptığım için veya" Üye Kayıt Formu" ile çakışıyor. Kayıt işlemi yapamıyorum. Formdaki verileri "TahsilatData" sayfasına kayıt yapmalıyım. Nerede hata yapıyorum?

2. Açıklama : Çalışmayı üye numarasına göre yaptığım için, "AnaSayfa"'daki Üye Bul ve "TahsilatOzeti" sayfasındaki Üye Bul butonu listeleme yaptığında listelenen isimler üye numarasına göre sıralı isim listesi olarak gelmektedir.
Soru: Üye Bul butonunda sıralanacak isimleri alfabetik sıraya göre listeleyebilir miyiz?

3.
Açıklama : "AnaSayfa" 'da bulunan "Üye No" değiştirildiğinde üye fotoğrafı değişiyor.(Excel belgesi ile aynı klasörde bulunan fotoğraflarımdan üye no ile aynı isime sahip fotoğraflar) Fakat "Üye Bul" butonu ile gelen listeden isim seçildiğinde üye fotoğrafı değişmiyor.
Soru: "Üye Bul" butonunda ki listeden isim seçtiğimizde üye fotoğrafının değişmesini sağlayabilir miyiz?
Bilgi: Dosya eki olarak 3 ve 11 numaralı üyeler de denemeniz için 3 ve 11 isimli iki adet jpeg dosyası da ekledim.

Teşekkür: Daha önce bu konuda @AhmetRasim bey yardımcı olmuştu kod konusunda tekrar Teşekkür ediyorum.

Saygılarımla
Yasin ÇİÇEK
 

Ekli dosyalar

  • DERNEK.xlsm
    DERNEK.xlsm
    682.9 KB · Görüntüleme: 6
  • 3.webp
    3.webp
    57.3 KB · Görüntüleme: 6
  • 11.webp
    11.webp
    9.6 KB · Görüntüleme: 4
Moderatörün son düzenlenenleri:
Merhabalar :)
Konu çözülmüş, yemekler yenilmiş, çaylar içilirken yetiştim sanırım. 🤭

@Ömer BARAN Hocamın hazırladığı dosya kadar detaylı değil ama alternatif olarak bir kenarda dursun. :)
Alternatifi nedir derseniz;
-- Üye bulma işleminde UserForm ile Eski Ama Sadık Dostumuz ADO kullanıldı, bu kadar. :)

@AhmetRasim Hocam merhaba, Şu bizim sadık dost ADO yontemi ile tahsilat ekranındaki üye listelemesini de yapmamız mümkün mü? Bunun için hangi kodu eklemeliyim?
 
Merhabalar Sn. ycicek ;
:) Eski Ama Sadık Dostumuz ADO ile tahsilat formunda üye listesini alfabetik olarak sıralamak için şu adımları uygulayınız;

-- TahsilatFormu isimli UserForm'daki CmbUyeAdiSoyadi isimli ComboBox'ın RowSource özelliğinde bulunan UYEADSOYAD isimli ad tanımlamasını siliniz.
CmbUyeAdiSoyadi.webp


-- Aşağıdaki kodları TahsilatFormu isimli UserForm'un kod bölümüne ekleyiniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(27 satır)

-- Eğer ComboBox'a yazmaya başlayınca da sıralama kodunun çalışmasını isterseniz, aşağıdaki kodu da kullanabilirsiniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(10 satır)

-- İsimlerin yer aldığı sayfa aynı olduğu için UyeBul isimli formdaki kodları olduğu gibi kullanmış olduk. :)
** Tek fark ComboBox ismi.
 
Moderatörün son düzenlenenleri:
Merhabalar Sn. ycicek ;
:) Eski Ama Sadık Dostumuz ADO ile tahsilat formunda üye listesini alfabetik olarak sıralamak için şu adımları uygulayınız;

-- TahsilatFormu isimli UserForm'daki CmbUyeAdiSoyadi isimli ComboBox'ın RowSource özelliğinde bulunan UYEADSOYAD isimli ad tanımlamasını siliniz.
CmbUyeAdiSoyadi.webp

-- Aşağıdaki kodları TahsilatFormu isimli UserForm'un kod bölümüne ekleyiniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(27 satır)

-- Eğer ComboBox'a yazmaya başlayınca da sıralama kodunun çalışmasını isterseniz, aşağıdaki kodu da kullanabilirsiniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(10 satır)

-- İsimlerin yer aldığı sayfa aynı olduğu için UyeBul isimli formdaki kodları olduğu gibi kullanmış olduk. :)
** Tek fark ComboBox ismi.

Çok Teşekkür ederim Hocam Saygılarımla.
 
Moderatörün son düzenlenenleri:
ADO'ya bulaşırsanız bağımlılık yapar, Excel'in kendi fonksiyonlarını kullanmazsınız.
Ama şiddetle de tavsiyedir :)

Üstadım Ado'yu anlamaya çalışıyorum. Exceldepo.com' da Ado Örnekleri var onu da satın aldım. İnternetde Ado ile alakalı yeteri kadar kaynak video yok. Makale var anlamak zor. Sizinle tanışana kadar excel bildiğimi zannediyordum. :LOL:
 
Hocam gördüm siparişinizi, iyi seçim :)
ADO acayip yararlıdır.

Basit bir şekilde işlevini şöyle özetleyebiliriz:
  • Veritabanına bağlantı sağlama (Excel, Access, SQL VT vs)
  • Veritabanından hangi tablodan, ne şartlarda veri alma,
  • Nesne ya da sayfaya aktarma.
Bu 3 aşama her işlem için geçerlidir.
En kritik kısım ara maddede olan.

Örnekleri inceleyip basit çalışmalarla kendinize uyarlamaya bakın.
Takılırsanız buradan da örnek bazlı sorabilirsiniz.

Selamlar.
 
Hocam gördüm siparişinizi, iyi seçim :)
ADO acayip yararlıdır.

Basit bir şekilde işlevini şöyle özetleyebiliriz:
  • Veritabanına bağlantı sağlama (Excel, Access, SQL VT vs)
  • Veritabanından hangi tablodan, ne şartlarda veri alma,
  • Nesne ya da sayfaya aktarma.
Bu 3 aşama her işlem için geçerlidir.
En kritik kısım ara maddede olan.

Örnekleri inceleyip basit çalışmalarla kendinize uyarlamaya bakın.
Takılırsanız buradan da örnek bazlı sorabilirsiniz.

Selamlar.


Vakit buldukça inceleyeceğim. Bilgilendirmeniz için ayrıca teşekkür ederim. Saygılarımla.
 
Üstadım aşağıdaki kodda Tarih ilgili Sütun C Sütununa Gün Ay Yıl şeklinde yazılması gerekirken Ay.Gün.Yıl şeklinde geliyor. Bilgisayarın tarihi Gün Ay Yıl şeklinde ne yapmalıyım? DD-MM-YYYY dd ile mm yi yer değiştirdim yine olmadı.
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(17 satır)
 
Moderatörün son düzenlenenleri:
Bendeki örnek dosyada normal kayıt ediyor.
Hata aldığınız dosyanın örnek halini paylaşır mısınız?

-- Birde hücre biçimlendirme ayarlarını kontrol eder misiniz?
 

Ekli dosyalar

  • tarih-formati.webp
    tarih-formati.webp
    30.6 KB · Görüntüleme: 5
Sayın @ycicek

İlgili kod satırında neden doğrudan, .Cells(iRow, "C") = Now yazmıyorsunuz?

.

@Ömer BARAN Onu da denedim abim olmadı. Enteresan olan üye kayıt formunda 9 Ocak olarak kaydederken Tahsilat Formunda 1 Eylül olarak kaydediyor. Dosyayı ekliyorum üstadlarım inceleyebilmeniz için şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhabalar;
TahsilatFormu isimli UserForm'da ki Kaydet isimli butonun kodlarında bulunan aşağıdaki satırdan kaynaklı,
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

Bu satırı aşağıdaki seçeneklerden biri ile değiştiriniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)
 
Üst