• DİKKAT

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

"Procedure too large" Hatası

Katılım
29 Şubat 2012
Mesajlar
4
Excel Vers. ve Dili
visual basic
Merhaba,

Yazmış olduğum makroda başlıkta belirttiğim hatayı almaktayım. İnternette yaptığım araştırmalar sonucu başka bir modülde sub procedure oluşturmam gerektiğini ve bu sub procedure'yi userforma bağlamam gerektiğini öğrendim.
Bu iki adımı rahatlıkla yapabiliyorum ancak, userformum üzerinde bulunan combobox ve listbox'ı anladığım kadarıyla subprocedure içerisinde de tanımlama gerekiyor ve ben nasıl tanımlayabileceğimi bilmiyorum. Çok acil yardım lütfen.

Saygılar
 
Merhaba

sub xxx()
Userform1.combobox1..........
userform1
end sub
 
çok teşekkür ederim cevabınız için; ancak dediğiniz yöntem işe yaramadı. İsterseniz yapmak istediğimi daha detaylı olarak anlatayım.

Userform1 üzerinde combobox1, combobox2 ve listbox1 nesnelerim var. Combobox2 combobox1'e bağlı ve listbox1 combobox 2 ye bağlı. Yani combobox1'den herhangi bir ülke seçtiğimde ,combobox2'de o ülkeni şehirleri çıkıyor, combobox2'de de herhangi bir şehir seçtiğimde listbox1de şehirdeki karayollarının toplam uzunlukları çıkıyor.

Combobox1'i combobox2'ye select case yöntemiyle bağladım. Listbox1'i combobox2 ye if yöntemiyle bağladım. Ancak kodum yaklaşık 4500 satır uzunluğunda oldu. Bu nedenle kodum procedure too large hatası vermekte.

İlk mesajımda belirttiğim gibi araştırmalarım sonucu sub procedure oluşturmam gerektiğini anladım ve sizin dediğiniz gibi yaptım

Module 4'te

Sub ComboBox2_Change()
UserForm1.ComboBox2
UserForm1.ListBox1

ListBox1.ColumnCount = 11 ' listbox'ta ki sütun sayısı
ListBox1.ColumnWidths = "100;100;100;100;100;100;100;100;100;100;100" 'listbox'taki sütunların genişliği
Dim c
If ComboBox2.Value = "İstanbul" Then
c = "Sheet4!b5 : l5"
ListBox1.RowSource = c
End If
If ComboBox2.Value = "Berlin" Then
c = "Sheet4!b7 : l7"
ListBox1.RowSource = c
End If
...
...
...
...
End Sub

Userform'umun üzerinde ise

Private Sub UserForm1_Initialize()
Call ComboBox2_Change
End Sub

bu kodlar bulunmakta; ancak gene başarılı olamadım.

Bu kodu tamalamak benim için gerçekten önemli.

Şimdiden yardımlarınız için teşekkür ediyorum.
 
Son düzenleme:
Ya da şöyle bir şey yapalım combobox1de seçilen veriye göre combox2'de veriler çıksın,combox2'de seçilen verilere göre listboxda veriler çıksın ve ayrıca bu objeler excel sayfası her güncellendiğinde kendiliğinden güncellensin.
Yardımcı olmanız mümkün mü?
 
Geri
Üst