• DİKKAT

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

Kod Sadeleştirme

Katılım
15 Aralık 2008
Mesajlar
202
Excel Vers. ve Dili
excel 2010
Merhaba; aşağıdaki kodlar nasıl sadeleştirilebilir?

Aynı Değeri alacak Comboboxlar:
sonBMa = Sheets("Malzeme").Cells(Rows.Count, "B").End(3).Row
ComboBox36.RowSource = "Malzeme!B2:B" & sonBMa
ComboBox1242.RowSource = "Malzeme!B2:B" & sonBMa
ComboBox37.RowSource = "Malzeme!B2:B" & sonBMa
ComboBox38.RowSource = "Malzeme!B2:B" & sonBMa
ComboBox1240.RowSource = "Malzeme!B2:B" & sonBMa
ComboBox1244.RowSource = "Malzeme!B2:B" & sonBMa


Aynı Formattaki TextBoxlar
TextBox193 = Format(Date, "dd"".""mm"".""yyyy")
TextBox118 = Format(Date, "dd"".""mm"".""yyyy")
TextBox1224 = Format(Date, "dd"".""mm"".""yyyy")
TextBox1229 = Format(Date, "dd"".""mm"".""yyyy")

Aynı Özellikte Option Butonlar
OptionButton1.Value = True
OptionButton7.Value = True

Aynı Özellikte Labellar
Label186.Visible = False
Label213.Visible = False
ListBox7.Visible = False
ListBox11.Visible = False
Label194.Visible = False
 
Kodların sadeleşmesi için genellikle döngü kullanılmaktadır. Bunun içinde nesnelerin ardışık olması büyük avantaj sağlamaktadır.

Sizin paylaştığınız nesne isimleri ardışık olmadığı için döngü kurmak çok mantıklı değildir.
 
Kodların sadeleşmesi için genellikle döngü kullanılmaktadır. Bunun içinde nesnelerin ardışık olması büyük avantaj sağlamaktadır.

Sizin paylaştığınız nesne isimleri ardışık olmadığı için döngü kurmak çok mantıklı değildir.

Hocam Array kullanabilir miyiz? Kullanırsak nasıl bir yapıda olabilir?
 
Mesela ComboBox için kod sadeleştirmesine örnek;

C++:
Private Sub UserForm_Initialize()
    Dim X As Byte, Cmb As Variant, sonBMa As Long
    
    Cmb = Array(36, 1242, 37, 38, 1240, 1244)
    sonBMa = Sheets("Malzeme").Cells(Rows.Count, "B").End(3).Row
    For X = LBound(Cmb) To UBound(Cmb)
        Me.Controls("ComboBox" & Cmb(X)).RowSource = "Malzeme!B2:B" & sonBMa
    Next
End Sub
 
1200 tane combobox'ı olan çalışmayı merak ettim.
Ben 3 tane olunca baş edemiyorum.

Bu kadar fazla nesnesi olan userform için classmodule konusu araştırabilirsiniz.
 
Mesela ComboBox için kod sadeleştirmesine örnek;

C++:
Private Sub UserForm_Initialize()
    Dim X As Byte, Cmb As Variant, sonBMa As Long
   
    Cmb = Array(36, 1242, 37, 38, 1240, 1244)
    sonBMa = Sheets("Malzeme").Cells(Rows.Count, "B").End(3).Row
    For X = LBound(Cmb) To UBound(Cmb)
        Me.Controls("ComboBox" & Cmb(X)).RowSource = "Malzeme!B2:B" & sonBMa
    Next
End Sub
Elinize sağlık Üstadım.
 
Geri
Üst