• DİKKAT

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

USERFORM İLE Giriş

Sayın bkts34 dosya harika elinize sağlık saadece ödemi talebine yönlendirirken run time 9 Script out of range hatasını veriyor Aşağıda kırmızı ile işaretlediğim satırı sarı renk ile çiziyor. Bir ricam daha olacak user formda ki bayi ismini ilgili satırda daha önce manuel girilmiş olan C hücresinden otomatik alabilirmi. Yeni bir kayıtta userform açıldığında bayi ismi yazılı gelebilir mi?

If MsgBox("ÖDEME TALEP FORMU OLUŞTURMAK İSTERMİSİNİZ ?", vbYesNo, "UYARI!") = vbNo Then

If CloseMode = 0 Then
Cancel = True
End If
Unload UserForm1
Else

Worksheets("ÖDEME TALEBİ").Range("B15").Value = ComboBox3.Value
Worksheets("ÖDEME TALEBİ").Range("F12").Value = TextBox4.Value
Worksheets("ÖDEME TALEBİ").Range("F15").Value = TextBox8.Value
Worksheets("ÖDEME TALEBİ").Range("F20").Value = TextBox5.Value
Worksheets("ÖDEME TALEBİ").Range("C23").Value = TextBox7.Value

MsgBox "KAYIT TAMAMLANDI ÖDEME FORMU OLUŞTURULDU", , "BİLGİ"

If CloseMode = 0 Then
Cancel = True
 
Yeni talebinize müsait olunca bakabilirim,
Hataya gelince sizde ki ödeme talebi sayfası birleştirilmiş hücrelerden oluşuyor birleştirmemeniz gerekiyor. Benim gönderdiğim dosyada ki sayfayı ayarlamıştım ben ona göre yapabilirsiniz kendi sayfanızı.
 
Yeni talebinize müsait olunca bakabilirim,
Hataya gelince sizde ki ödeme talebi sayfası birleştirilmiş hücrelerden oluşuyor birleştirmemeniz gerekiyor. Benim gönderdiğim dosyada ki sayfayı ayarlamıştım ben ona göre yapabilirsiniz kendi sayfanızı.

Çooook teşekkür ederim. Ellerinize sağlık.
 
Rica ederim iyi günlerde kullanın :icelim:

Sayın Bkts34

Uygulamada şöyle bir problem ile karşılaştım Veri girişi yapılan ilk beş sayfada Fatura girmek için çift tıklayarak userformu açtığımda ve verileri girip kaydettiğimde bu sayfalara verileri yazarken fatura numarasına göre bakıyor ve fatura no boş olan en alttaki hücrelere verileri giriyor Faturalar her zaman en alt satıra girilmiyor yani bazı ürünler için fatura sonradan girilebiliyor Dolayisiyla ilk 5 sayfaya ( ch1-2 ch2 vs vs) veri kaydı yapıldığında her zaman en alta ekliyor oysaki altı üstü dolu olan ara bir satıra da fatura girilebiliyor Yazmış olduğunuz kodda çift tıklanan hücreye yaz ve diğer verileri de şu kadar offsetleyerek yaz gibi birşeyler yapılabilir mi

Bu söylediğim Ödemeler sayfası için geçerli değil orada yeni kayıt her zaman en alt satıra ekleniyor orada sorun Yok Ama Ödemeler sayfasında da en alt satırı bulmak için fatura numarasının olduğu sütunun doluluğuna bakarak buna göre en alt satırı bulup yazabilir mi?

Ben 2 gün uğraştım beceremedim Sanırım VBA konusunda ders almam gerekecek:)) Müsait olduğunuz ilgilenebilirseniz çok sevinirim

Teşekkürler
 
Son düzenleme:
Suan dosyaya bakma ihtimalim malesef yok :( sizin bahsettiginiz bu sonradan fatura girisinin hangi satirin arasina girilecegini nasil secebiliriz ?
Kaydin hangi satira yapilacagina siz karar verebilseniz isinizi gorurmu ? Yani dusununki 5-6--7. Satirlarda kayir var ama siz daha sonradan 6.satira yani mevcut 5 ile 6 nin arasina bir kayit yapacaksiniz. Userforma bir textbox eklesek ve siz oraya ne yazarsaniz o oraya kaydetse olurmu ? Textbox bos olunca yani yeni bir kayit oluncada arayada eklenmeyecekse o zaman suan ki gibi en alta kaydetse ? odeme talebine de hic dokunmasak isiniz gorulur sanirim. Siz ne dersiniz ?
 
Suan dosyaya bakma ihtimalim malesef yok :( sizin bahsettiginiz bu sonradan fatura girisinin hangi satirin arasina girilecegini nasil secebiliriz ?
Kaydin hangi satira yapilacagina siz karar verebilseniz isinizi gorurmu ? Yani dusununki 5-6--7. Satirlarda kayir var ama siz daha sonradan 6.satira yani mevcut 5 ile 6 nin arasina bir kayit yapacaksiniz. Userforma bir textbox eklesek ve siz oraya ne yazarsaniz o oraya kaydetse olurmu ? Textbox bos olunca yani yeni bir kayit oluncada arayada eklenmeyecekse o zaman suan ki gibi en alta kaydetse ? odeme talebine de hic dokunmasak isiniz gorulur sanirim. Siz ne dersiniz ?

Aslında kayıt sadece çift tıklanan satıra ekleniyor. Bu sebepten userformu hangi satıra çift tıklayarak açtıysak o satırda işlem yapılması sağlanabilir mi? İlk 5 sayfa için bu söylediğim Ödemeler sayfasında her zaman en alt satıra ekleniyor ancak orada da fatura numarası bulunmayan en alt satırı seçebilir mi?
 
merhaba,

Linkteki dosyayı sadece sheet1 e kaydetmesi bakımından incelermisiniz ? Aktif hücrenin bir üstüne kaydeder şeklinde yaptım. Yani siz araya kaydederken ona göre tıklarsanız araya istediğiniz yere kaydetmiş olursunuz. Kayıt ekliyeceğiniz satırın bir altını tıklamanız yeterli. Başka türlü de nereye kayıt yapacağını kodlar seçemez zate. Uygunsa diğer sayfalara devam edeceğim.

http://s8.dosya.tc/server2/1hrav7/Ornek_Dosya17.rar.html
 
merhaba,

Linkteki dosyayı sadece sheet1 e kaydetmesi bakımından incelermisiniz ? Aktif hücrenin bir üstüne kaydeder şeklinde yaptım. Yani siz araya kaydederken ona göre tıklarsanız araya istediğiniz yere kaydetmiş olursunuz. Kayıt ekliyeceğiniz satırın bir altını tıklamanız yeterli. Başka türlü de nereye kayıt yapacağını kodlar seçemez zate. Uygunsa diğer sayfalara devam edeceğim.

http://s8.dosya.tc/server2/1hrav7/Ornek_Dosya17.rar.html

Sayın bkts34,

Yanlış anlaşıldım sanırım. Buradan yazarak anlatmak oldukça zor oluyor. Şöyle izah edeyim. Sizin örneğinizde araya kayıt için satır ekliyor böyle bir şeye ihtiyacımız yok. İzah etmem gerekirse şöyle düşünelim, Örneğin 10 adet ürün var bunların isimlerini alt alta yazdığınızı düşünün. elimizde 10 satır var. Bu ürünlerin faturalarını sonradan girdiğinizi düşünün. Örneğin ürünler. 1. satırdan başlamak üzere Elma, Armut, Kiraz, Muz, vs vs olsun. Önce 4. satırdaki muz ile ilgili fatura geldi bu durumda muz ile ilgili satırı bularak buraya giriş yapıyoruz. Sonra 1. satırdaki Elma faturası geldiyse Elma satırına girip faturasını giriyoruz.

Bizim örnek tablomuzda da hangi L hücresine çift tıkladıysak o satırda işlem yapsın istiyorum. Bütün verilerin kayıtlı olduğunu faturaların sonradan girildiğini düşünebiliriz. Ancak sizin ilk gönderdiğiniz örnekte örneğin 10. satırda daha önce fatura girili ise ve sonradan 5. satırdaki ürün faturası geldiğinde 11. satıra yazıyordu. çünkü en altta 10. satırdaki fatura'nın hemen altındaki boş satıra yazıyordu. Kısacası L kolonunda hangi hücre seçilip çift tıklanıyorsa o satıra işlensin istiyorum. Aslında sizin basitçe çözebileceğinize inanıyorum ama ben anlatamıyorum Kusura bakmayın lütfen. Haddime değil ama activecell'e fatura tutarını(textbox 7'yi) yaz, diğer ilgili bilgileri de bu hücreden 5 sağdakine 3 soldakine gibi birşey olabilir mi? Sizi daha fazla uğraştırmamak için ben denedim ama kod yazılımı konusunda çok acemi olduğum için beceremedim.
 
:) :) Dosya zaten tıkladığınız hücrenin satırına işlem yapıyor :) sadece şunu yapmanız gerekli, fatura numarasını veya eksik olan herhangi bir bilgisiniz sonradan gireceğiniz kaydı çağırdıktan sonra kaydı güncelle butonunu tıklamalısınız, kaydet butonunu tıklarsanız yeni kayıt gibi algılar en alta kaydeder. Ben haftasonu hastanelerde olduğum için anlayamamış olabilirim.
kaydı güncelle butonu işinizi görür sadece şu sorun olabilir boş alanlar var uyarısı verebilir tam hatırlamıyorum neleri zorunlu kılmıştık. siz benim dediğim gibi bi deneyin, bir kayıt yapın zorunlu alanlarını doldurun sonrada tekrar çağırın eksik verileri girin kaydı güncelle butonuna tıklayın,

ancak şöyle bir durum olacaktır, ödemeler sayfanıza fatura numarasına göre aktarım ve ayrım yapmasını söylemiştiniz, eğer fatura numarası olmayan bir kayıt girerseniz ödemeler sayfanıza kayıt yapmayacaktır. Şuan deneme yapamıyorum müsait olunca ancak bakabilirim. Siz deneyin bakalım böylemi.
 
Çok geçmiş olsun umarım önemli birşeyiniz yoktur. Evet tam söylediğiniz gibi kayıdı güncelle dediğiniz zaman giriş yapılan sayfaya yazıyor ancak ödemeler sayfasına kaydetmiyor ve ödeme talep formuna yönlendirilmiyor. Bu durumda kaydet butonunun hiç bir fonksiyonu kalmıyor çünkü bizim üzerinde çalıştığımız liste her zaman dolu oluyor faturalar sonradan giriliyor. Nasıl yapmamız lazım ki güncelleme ile yeni kayıtı ayırt edebilelim. Yani kayıt butonunu bu hale getiremezmiyiz. Kaydet'e bastığınızda aynı satırda işlem yapsın, ödemeler sayfasında en alt satırına eklesin(fatura numarası olmayan en alt satıra, diğer hücreler bazen boş olabiliyor) ve ödeme talep formuna yönlendirsin. Kayıtı güncelle dediğiniz zaman sadece o sayfa ve ödemeler sayfasında ki kayıtı güncellesin. Olabilir mi? Hiç acelesi yok ne zaman müsait olursanız beklerim. Çok çok teşekkür ederim
 
Çok sağolun önemli birşey yok çok şükür. Hallederiz sheet1-2-3... lere kaydederken sorun olmaz ama fatura numarası olmayan bir kayıt ödeme sayfasına aktarılsa da ikinci bir güncellemede o kaydı nasıl bulabiliriz ? biliyosunuz şuanda fatura numarasına göre eşleşme yapıyor, bu da olmadığında neye göre yapacak ?
 
Çok sağolun önemli birşey yok çok şükür. Hallederiz sheet1-2-3... lere kaydederken sorun olmaz ama fatura numarası olmayan bir kayıt ödeme sayfasına aktarılsa da ikinci bir güncellemede o kaydı nasıl bulabiliriz ? biliyosunuz şuanda fatura numarasına göre eşleşme yapıyor, bu da olmadığında neye göre yapacak ?

Ödeme sayfasına sadece fatura numarası olan kayıt aktarılacak. İzah etmem gerekirse Bütün sayfaların boş olduğunu düşünün. Sheet 1,2,3 de ürün isim girişleri ve diğer bilgiler elle manuel daha önceden girilmiş olsun. Sadece fatura ve fatura numaraları girilemedi çünkü faturalar henüz gelmedi. Bu arada fatura gelmediği için de ödemeler sayfası boş. Şimdi ilk faturamız gelsin örneğin Sheet-1/ 17. satırdaki ürün ile ilgili. 17. satırda L hücresine tıkladık ve userformu açtık bilgileri girdik ve kaydet dedik. Sheet 1'e 17. satıra fatura tutarı ve fatura no.su nu kaydetti Ödemeler sayfasına ise userformda ki diğer bilgiler ile birlikte fatura tutarı ve fatura tutarını kaydetti ve ödeme talep formuna ilgili bilgileri işledi ve ödeme talep formu sayfasında bekledi. Şimdi ikinci bir fatura gelsin örneğin Sheet-1 / 9. satırda ki bir ürün. 9. satır L hücresine tıkladık userform açıldı ve bilgileri girdik Kaydet deyince 9. satıra fatura tutarı ve fatura no yu kaydetti. Ödemeler sayfasında bir önceki kaydın hemen altındaki boş satıra (bu boş satırı fatura numarası olmayan en alttaki satır olarak belirleyecek) userformda ki diğer bilgiler ile birlikte fatura tutarı ve fatura no.sunu kaydettik. Böyle devam edecek Birde mevcut kayıtta güncelleme olacak.

Sheet 1-2-3 vs userform üzerinden giriş yapılırken fatura tutarı ve no.su mutlaka girilecek. Zaten bunun için bu userfomu kullanmak istiyoruz. Aslında eski örnekteki güncelleme kaydı üzerinden gidersek daha kolay olacak. Güncelleme tuşunu kaydet tuşu olarak değiştirdiğinizi düşünelim. Sheet 1 e geldiniz L ye çift tıkladınız userform açıldı verileri girdik Kaydet (eski güncelle tuşu) bastığınız zaman sheet 1-2-3 vs sorunu çözmüş oluyor. Kayıt doğru yapılıyor. Bu kaydı alsın ödemeler sayfasında fatura numarası olmayan en alt satırına eklesin. ve ödeme talebi sayfasına ilgili verileri işleyerek bu sayfayı açsın beklesin. Sorunumuz çözülmüş oldu. Güncelleme opsiyonu için ise Yeni bir güncelleme tuşu oluşturduk ilk örneklerdeki güncelleme tuşu kodunu buraya atadık zaten güncellemede daha önceki çalışmalarınızda bir sorun yoktu:)
 
Son düzenleme:
Üstte açıklamayı yazdıktan sonra sizin daha önce göndermiş olduğunuz kodları düzenledim ve sorunum çözüldü. Emekleriniz için size ne kadar teşekkür etsem azdır:) Çok saolun
 
Estağfrullah hiç önemli değil. Sizin yapmış olmanız bence en önemlisi. İyi günlerde kullanın :mutlu:
 
Estağfrullah hiç önemli değil. Sizin yapmış olmanız bence en önemlisi. İyi günlerde kullanın :mutlu:

Sayın Bkts34,

Son bir detay kaldı. Hatırlarsanız ödeme talebi aynı çalışma kitabında yer alıyordu ve bu sayfaya işliyordu. Bu ödeme talebini başka bir çalışma kitabı olarak açtırıp verileri buraya işlemek istesek kodu aşağıdaki şekilde yazdım ama çalışmadı.

If MsgBox("ÖDEME TALEP FORMU OLUŞTURMAK İSTERMİSİNİZ ?", vbYesNo, "UYARI!") = vbNo Then

If CloseMode = 0 Then
Cancel = True
End If
Unload UserForm1
Else


Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Range("B15").Value = ComboBox3.Value
Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Range("F12").Value = TextBox4.Value
Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Range("F15").Value = TextBox8.Value
Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Range("F20").Value = TextBox5.Value
Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Range("C23").Value = TextBox7.Value

MsgBox "KAYIT TAMAMLANDI ÖDEME FORMU OLUSTURULDU", , "BiLGi"

If CloseMode = 0 Then
Cancel = True
End If
Unload UserForm1

Workbooks("Ödeme Talebi.xlsm").Worksheets("Sheet1").Select
End If


Else

MsgBox "BOS ALANLAR VAR !!", , "BiLGi"


End If

End Sub
 
Kusura bakmayin gercekten cok yogunum bakamiyorum bir turlu ama şu diyeceğimi bi deneyin nereye yazacaginizi da tarif edeyim,
Oncelikle masaustunuze "ÖDEME" diye bir excel kitabi olusturun adi farkli olabilir yani farketmez, sonra bu olusturdugunuz ÖDEME kitabinin icine ÖDEME TALEBİ diye bir sheet olusturun ve bunlari yaptiktan sonra bu yeni kitabi kapatin kalsin ve Userform kodlariniza donun orada ise yapacaginiz sey cok basit cunku yeni kitaptaki isimleri felan o kodlara gore vermis oldunuz zaten :) Userform kodlarinizda;

Command1button_Click olaylarinda "ÖDEME TALEP FORMU OLUSTURMAK ISTERMISINIZ" mesajindan sonraki "ELSE" den hemen sonra Şu kod satiri ekleyin


Workbooks.open Filename:="C:\Users\magnet2014 (yani pc kullanici adiniz olacak burda )\Desktop\ÖDEME.xlsx"

Bu kodu ekledikten sonra kayit yaptiginizda kayitlariniz artik masaustundeki ODEME kitabi uzerine gececektir o dosyayi da farkli kaydedebilirsiniz artik sonrasini siz nasil uygulayacaksiniz bilemiyorum. Bu eklediginiz kod satirini tum userformlara eklemeniz gerek. Yol yontem boyle siz halledersiniz gerisini diye düşünüyorum. Kolay gelsin :)
 
Çok teşekkür ederim sizi de çok uğraştırdım:) Nihayetinde sorunları sayenizde çözdüm. Allah razı olsun:)
 
Rica ederim yardimci olabildiysek ne mutlu.
Iyi calismalar.
 
Geri
Üst