• DİKKAT

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

Kod Kısaltma İhtiyacı

Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Herkese iyi günler iyi çalışmalar ekte yapım aşamasında olan sipariş açma programım bulunmakta içinde bulunan kodları kısaltma imkanım olurmu bu konuda bana yardımcı olursanız sevinirim
şimdiden teşekkürler
 
soruma ek olarak bir hususta daha yardımınızı bekliyorum

örneğin
textbox1.value = combobox1.value * 2
textbox2.value = combobox2.value * 2
textbox3.value = combobox3.value * 2
..

bu şekilde devam eden kodu for döngüsüne sokarak yada başka bir şekilde kısaltmam mümkünmü

yardımlarınız için şimdiden teşekkürler
 
Sayın Fenomen,

For a = 1 to 100
Controls("Textbox" & a).value = Controls("Combobox" & a).value * 2
Next a

--100 rakamını siz kendinize uyarlayın.
 
Sayın Fenomen,

Kodlarınızı biraz kısaltmaya çalıştım. Doğru çalışıp çalışmadığını kontrol ediniz.
 
Sn. Şaban Sertkaya
çok teşekkür ederim çok yardımcı oldunuz sayenizde heran ilerleme katediyorum
sizin vermiş olduğunuz kodu

For a = 1 To 19
Controls("Trb" & a).Value = WorksheetFunction.VLookup(Desen1.Value, Sheets("VeriTrb").Range("b:aa"), a + 1, 0)
Next a


bir modülüniçine koydum ve bu şekilde yazdım


For a = 1 To 19
Controls("UserForm1.Trb" & a).Value = WorksheetFunction.VLookup(UserForm1.Desen1.Value, Sheets("VeriTrb").Range("b:aa"), a + 1, 0)
Next a

ancak
compile error: Sub or Function not defined hatası verdi bunu nasıl düzeltebilirim

şimdiden yardımlarınız için teşekkür ederim.
 
Peki modül ne zaman çalışıyor ?

Eğer modülü form açılmadan (modülü sayfa üzerinde bir butona bağladıysanız) çalıştırırsanız bu hatayı almanız normal.

Yok ben butonu form üzerine koydum diyorsanız, (ben denemedim) aşağıdaki şekilde bir deneyiniz.

For a = 1 to 19
Controls((Userform1 & "." & "Trb" & a)).value = WorksheetFunction.VLookup(UserForm1.Desen1.Value, Sheets("VeriTrb").Range("b:aa"), a + 1, 0)
Next a

Not : Controls kelimesinden sonra gelen çift parantez hataya neden olabilir belki, olursa karşılıklı birer parantez silerek bir deneyin.

Veya yapamaz iseniz dosyanızın son halini ekleyin, üzerinde bakalım.
 
Sn. Şaban Sertkaya

Öncelikle ilginiz için çok teşekkür ederim

Verdiğiniz kodu denedim verdiğiniz şekilde denediğimde

Controls((Userform1 & "." & "Trb" & a)).value deki user form için type is mismatch hatası verdi ben de

Controls(("Userform1" & "." & "Trb" & a)).value olarak düzelttim bundan sonra

compile error: Sub or Function not defined hatasını tekrar verdi
dosyam ekte şimdiden teşekkür ederim
 
Sayın Fenomen,

Kodu aşağıdaki şekilde değiştirerek deneyin.

For a = 1 To 19
UserForm1.Controls("kd" & a).Value = WorksheetFunction.VLookup(UserForm1.Desen1.Value, Sheets("VeriDsn").Range("b:aa"), a + 1, 0)
Next a
 
Sn. Şaban Sertkaya
Muhteşemsiniz çok teşekkür ederim
ellerinize sağlık
 
Tekrar kolaygelsin programda çok güzel ilerleme kat ettim ancak ilerledikçe yeni bir problemle karşılaştım textbox ta format virgüllü sayılarda hatalı çalışıyor örneğin 211,15 2.115,00 giibi oluyor

kod :bu şekilde
For a = 1 To 19
Controls("Kim" & a).Value = Controls("SrfA" & a) * Controls("SrfS" & a) * NAdet1 * ((knffire / 100) + 1)
Controls("Kim" & a).Value = Format(Controls("Kim" & a).Value, "#,##0.00")
Next a


formda çok arama yaptım aynı forma hatasında hep aynı cevap verilmiş ama hata nerde anlayamadım
yardımlarınızı bekler iyi çalışmalar dilerim
 
Sayın Fenomen,

Öncelikle aşağıdaki linkte Sayın Necdet Yeşertener Hocamın eklemiş olduğu makaleyi detaylı bir şekilde inceleyiniz. Sorununuza çözüm bulamaz iseniz o zaman bakarız.

http://www.excel.web.tr/showthread.php?t=11509
 
For a = 1 To 7
j = UserForm1.Controls("SrfA" & a) * UserForm1.Controls("SrfS" & a) * UserForm1.NAdet1 * ((UserForm1.knffire / 100) + 1)
i = UserForm1.Controls("SrfA" & a) * UserForm1.Controls("SrfS" & a) * UserForm1.NAdet1 * ((UserForm1.trbfire / 100) + 1)

UserForm1.Controls("Kim" & a).Value = j
UserForm1.Controls("Kim" & a).Value = Format(j, "#,##")
UserForm1.Controls("Tim" & a).Value = i
UserForm1.Controls("Tim" & a).Value = Format(i, "#,##")
Next


şeklinde yaparak sorunumu hallettim hatanın nedeni textbokun formatını değiştirmek olduğunu anladım textboxun değil textboxun içine gelen rakamın formatını değiştirmek gerekiyor bunun içinde "format(tektboxun içine gelen sayıın elde edildiği işlem , "istenilen format")" yaparak çözüm buldum inşallah diğer kişilere de faydalı olur
 
Geri
Üst