• DİKKAT

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

Butonlara Kod Yazılması hakkında

Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Bir çalışmamda kullanmak üzere ekteki açıklamaya çalıştığım çizelge hakkında yardımlarınızı bekliyorum. Böyle bir çalışmanın yapılıp yapılamayacağı konusunda yardımlarınızı bekliyor. Şimdiden teşekkürlerimi sunuyorum. hayırlı geceler
 

Ekli dosyalar

Merhaba.
Kod olayı ile ilgilenmeye başlayalı çok olmadı ama, fikrimi söylemek istedim.

Veri çağırma için oluşturduğunuz minik kutucuk sayı yazılmak üzere tasarlanmış ama sonuna TİM yazmayınca veriyi bulmuyor, bunun yerine sadece sayı kullanılmalı (tabi kayıt sayfasında da aynı şekilde kaydedilmesi lazım.
Eğer TİM numaraları listesi sabit ise o hücreye (J4) veri doğrulama açılır listeden seçim ile veri yasılabilir.
Aslında söylenecek çok şey var ama şimdilik aşağıdakilerle yetineyim.

Öncelikle kayıt sırasında bir sütuna kayıt numarası eklerseniz (örneğin en sağdaki ilk boş sütuna -sütun no 66-) bu numarayı bilgiyi BUL ile çağırdığınızda uygun bir hücreye yazdırabilirsiniz.
Bunun için kaydet düğmesinin kodlarında en üste S2.Cells(Satır, 66) = Satır - 7 şeklinde bir satır eklediğimde 1'den başlayarak 66'ncı sütuna sayı yazdırdım.
Bul düğmesinin kodlarına da S1.Cells(2, 1) = S2.Cells(Satır, 66) satırını ekledim ve veriyi çağırdığımda A2 hücresine bu sayıyı getirdim.


A2 hücresine bağlı olarak düğmelerin aktif/pasif olayı için Worksheet_Change kodu oluşturdum.

Sonra örneğin bu kaydı değiştirmek istediğinizde bu sayıyı referans olarak kullanabilirsiniz, bu hücreyi sildiğinizde (bunun anlamı yeni kayıt için aynı bilgileri kullanma imkanı kazanırsınız, silmezseniz de veri değişikliği işlemi gerçekleştirirsiniz.cYani kayıt/bul/değiştir için bu numara dayanak noktası olarak kullanılabilir.
Ayrıca düğmeleri aktif/pasif etmek için de bu hücreyi kullanabilirsiniz.

Ben örneğin bu işlem için A2 hücresini düşündüm ve bu hücre değiştiğinde otomatim çalışarak düğmeleri aktif/pasif hale getirdim.

Ayrıca veri girişi yaptığınız sayfanın tasarımının gözden geçirilmesi lazım sanki, kayıt satır/sütun numarasıyla, veri giriş sayfasındaki ilgili hücrelerin satır/sütun numaraları arasında matematiksel bir bağlantı kurulabilirdi, böyle olsaydı, kayıt/çağırma/değiştirme kodları basit For..Next döngüsü ile daha kolay yapılabilirdi, ya da kayıtlar sayfasındaki sütun başlıkları, veri giriş sayfasanda da kullanılabilirdi, bu da kodları kısaltırdı mesela. Buna ilişkin bir şey yapmadım.

Bir bakın isterseniz. Maksat fikir versin.
 
Son düzenleme:
Tekrar merhaba.

Ekteki belgede de sayfa yapısına ve kod tarzına ilişkin birşeyler yaptım.

Maksatım belgeniz için başka seçeneklerinde olabileceğini görmeniz.
İlk iş olarak sayfa tasarımını tamamlamanız ve ardından kod desteği istemenizde yarar görüyorum.

BARAN adlı sayfada sağ taraftaki YENİ DÜĞMELERE tıklayın.

Böylece belgeniz/sayfanız biraz daha derli toplu ve kullanışlı hale gelebilir.

Sağlıcakla kalın.
 

Ekli dosyalar

Hocam ilginiz için teşekkür ederim. Ama benim istediğim tam olarak bu değil. Zahmet edip uğraşmışsınız. Gerçekten zaman ayırmışsınız. hakkınızı helal edin. Teşekkürler
 
Bu şekilde yaparsanız, örneğin kaydet düğmesinin kodları aşağıdakinden ibaret de olabilirdi.(a12 hücresine 1 yazdıktan sonra deneyiniz)
Kod:
Private Sub CommandButton1_Click()
Satır = [A65536].End(3).Row + 1
Cells(Satır, 1) = Satır - 11
    
For a = 2 To 68
    Cells(Satır, a) = Cells(6, a)
    Cells(6, a).ClearContents
Next

End Sub
Tabi veri girişi ile kayıtlar ayrı sayfada da olabilir, bu tarz veri giriş ekranı ve kayıt kanaatim o ki; en kullanışlı olandır.
 
Merhaba;
Alternatif olsun.
İnceleyin.

Not: Gereksiz yere hücre birleştirerek yaptığınız tablo yapısından kaçının. (Bu makrolarda döngü ile yapılacak işlemleri zorlaştırıyor.)

Ayrıca Sayfada çalışmak yerine userform ile çalışmaya yönlenin. (bu hem görsellik kazandırır , hemde sayfada istenmeyen bozulma silme vs. gibi olumsuzlukların oluşmasını engeller)

Mesela ekteki userform ön hazırlığı size fikir verecektir. (Birleştirilmiş hücreler ve anlayamadığım noktalar yüzünden bitirme noktasını size bıraktım)


İyi çalışmalar.
 

Ekli dosyalar

Geri
Üst