• DİKKAT

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

Procedure Too Large sorunu

  • Konbuyu başlatan Konbuyu başlatan macay
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Ekim 2006
Mesajlar
119
Excel Vers. ve Dili
excel 2007-Türkçe
Sayın Üstadlar,

Ekli dosyamda oluşturduğum user formda kayıt butonuna basınca "Procedure too large" hatası alıyorum. Siteden araştırdığım kadarı ile kodun bir kısmını yeni bir modul içine taşıyarak kestiğim yerden call modul1.kayitdevam diye bir kod tanımladım fakat bu seferde yeni module taşıdığım "= Me.TxtRec.Value" satırında Me. Kulanmassın diyerek hata verdi. işte bu noktayı aşamadım yardımlarınızı bekliyorum

Saygılarımla,
 

Ekli dosyalar

Merhaba,

Nerede okuduğumu tam hatırlamıyorum. Modullerde 64KB gibi bir limit var sanırım.
Karşılaştığınız problemle ilgili olarak bir .bas modulde "Me" gibi sözcük kullanaazsınız. "Me" yi kullandığınız nesnede (Form veya Class) nesnenin kendini, özeliklerini çağırırır.

Bir modulden çağırmada ısrarlıysanız parametrik kullanmanız uygun olur.

Örnek:

Kod:
sub kaydet(byref uf as userform)
set frm = uf
.
.
cells(sat + 23) = frm.textbox1.text 'gibi
.
.

end sub
 
dediğiniz şekil yanlış anlamadıysam bu galiba ama bu seferde call modul1.kayitdevam hata veriyor
Kod:
Sub kayitdevam(ByRef uf As UserForm)
Set frm = uf


If CboBcins8 = "" Then
CboBcins8 = ""
Else
Cells(Satir + 21, 1).Value = frm.TxtRec.Value 'ilk satıra yazılacak veriler
 
Kayıt butonuna bastığınızda şu şekilde mi çağırıyorsunuz?

Kod:
Call module1.kayıtdevam(me)
 
Hayır aşağıdaki şekilde çalıştırıyorum son end if komutundan sonra call module1.kayitdevam diye çağırdım geri kalan kodlar pasif haldedir
Kod:
.Cells(Satir + 20, 11).Value = Me.TxtKarMik7.Value
End If

Call Module1.kayitdevam

'If CboBcins8 = "" Then
 
Bu durumda devam etmesini istediğiniz yerde aşağıdaki gibi proseduru çağırmalısınız...


Kod:
Call module1.kayıtdevam(Me)
 
hocam 3 nolu mesajımda kod yazımı doğrumudur .cell yazımını sizinki gibi cell olarak düzelttim me. olan yerleri frm. olarak düzelttim şu anda hata vermiyor ama kayıtta atmıyor excele
 
hocam 3 nolu mesajımda kod yazımı doğrumudur .cell yazımını sizinki gibi cell olarak düzelttim me. olan yerleri frm. olarak düzelttim şu anda hata vermiyor ama kayıtta atmıyor excele

Küçük bir test yaptım; düzgün çalışıyor olması lazım....

Test yaptığım hali aşağıdadır.

Module1:

Kod:
Sub kayitdevam(ByRef uf As UserForm)
Set frm = uf
'If CboBcins8 = "" Then
'CboBcins8 = ""
'Else
Satir = 1
Cells(Satir + 21, 1).Value = frm.TxtRec.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 2).Value = frm.TxtTarih.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 3).Value = frm.TxtVardya.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 4).Value = frm.Txtblm.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 5).Value = frm.CboPer.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 6).Value = frm.CboMakNo8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 7).Value = frm.TxtUsk8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 8).Value = frm.CboBcins8.List(HarUrn8) 'ilk satıra yazılacak veriler
Cells(Satir + 21, 9).Value = frm.TxtBrm8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 10).Value = frm.TxtBobMik8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 13).Value = frm.Txtaciklama8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 14).Value = frm.TxtCalSure8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 21, 15).Value = frm.TxtStopSure8.Value 'ilk satıra yazılacak veriler
Cells(Satir + 22, 1).Value = frm.TxtRec.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 2).Value = frm.TxtTarih.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 3).Value = frm.TxtVardya.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 4).Value = frm.Txtblm.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 5).Value = frm.CboPer.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 6).Value = frm.CboMakNo8.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 7).Value = frm.txtFireSk8 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 8).Value = "HURDA - GRANÜL" 'sonraki satırlara yazılacak veriler
Cells(Satir + 22, 10).Value = frm.TxtFire8.Value 'sonraki satırlara yazılacak veriler
Cells(Satir + 23, 1).Value = frm.TxtRec.Value
Cells(Satir + 23, 2).Value = frm.TxtTarih.Value
Cells(Satir + 23, 3).Value = frm.TxtVardya.Value
Cells(Satir + 23, 4).Value = frm.Txtblm.Value
Cells(Satir + 23, 5).Value = frm.CboPer.Value
Cells(Satir + 23, 6).Value = frm.CboMakNo8.Value
Cells(Satir + 23, 7).Value = frm.TxtYsk8.Value
Cells(Satir + 23, 8).Value = frm.CboKulKar8.List(Harkar8)
Cells(Satir + 23, 11).Value = frm.TxtKarMik8.Value
'End If

End Sub
FORMEXTRUDER form kodları:

Kod:
Private Sub Combut1_Click() 'kaydet butonuna bağlı gelişen olaylar
Dim Satir As Long
Dim HarUrn1 As Long
Dim HarUrn2 As Long
Dim HarUrn3 As Long
Dim HarUrn4 As Long
Dim HarUrn5 As Long
Dim HarUrn6 As Long
Dim HarUrn7 As Long
Dim HarUrn8 As Long
Dim HarUrn9 As Long
Dim HarUrn10 As Long
Dim HarUrn11 As Long
Dim HarUrn12 As Long
Dim HarUrn13 As Long
Dim HarUrn14 As Long
Dim HarUrn15 As Long
Dim HarUrn16 As Long
Dim HarUrn17 As Long
Dim HarUrn18 As Long
Dim HarUrn19 As Long
Dim HarUrn20 As Long

Dim Harkar1 As Long
Dim Harkar2 As Long
Dim Harkar3 As Long
Dim Harkar4 As Long
Dim Harkar5 As Long
Dim Harkar6 As Long
Dim Harkar7 As Long
Dim Harkar8 As Long
Dim Harkar9 As Long
Dim Harkar10 As Long
Dim Harkar11 As Long
Dim Harkar12 As Long
Dim Harkar13 As Long
Dim Harkar14 As Long
Dim Harkar15 As Long
Dim Harkar16 As Long
Dim Harkar17 As Long
Dim Harkar18 As Long
Dim Harkar19 As Long
Dim Harkar20 As Long

Dim Sayfa As Worksheet
Set Sayfa = Worksheets("kayıtlar")


HarUrn1 = Me.CboBcins1.ListIndex
HarUrn2 = Me.CboBcins2.ListIndex
HarUrn3 = Me.CboBcins3.ListIndex
HarUrn4 = Me.CboBcins4.ListIndex
HarUrn5 = Me.CboBcins5.ListIndex
HarUrn6 = Me.CboBcins6.ListIndex
HarUrn7 = Me.CboBcins7.ListIndex
HarUrn8 = Me.CboBcins8.ListIndex
HarUrn9 = Me.CboBcins9.ListIndex
HarUrn10 = Me.CboBcins10.ListIndex
HarUrn11 = Me.CboBcins11.ListIndex
HarUrn12 = Me.CboBcins12.ListIndex
HarUrn13 = Me.CboBcins13.ListIndex
HarUrn14 = Me.CboBcins14.ListIndex
HarUrn15 = Me.CboBcins15.ListIndex
HarUrn16 = Me.CboBcins16.ListIndex
HarUrn17 = Me.CboBcins17.ListIndex
HarUrn18 = Me.CboBcins18.ListIndex
HarUrn19 = Me.CboBcins19.ListIndex
HarUrn20 = Me.CboBcins20.ListIndex


Harkar1 = Me.CboKulKar1.ListIndex
Harkar2 = Me.CboKulKar2.ListIndex
Harkar3 = Me.CboKulKar3.ListIndex
Harkar4 = Me.CboKulKar4.ListIndex
Harkar5 = Me.CboKulKar5.ListIndex
Harkar6 = Me.CboKulKar6.ListIndex
Harkar7 = Me.CboKulKar7.ListIndex
Harkar8 = Me.CboKulKar8.ListIndex
Harkar9 = Me.CboKulKar9.ListIndex
Harkar10 = Me.CboKulKar10.ListIndex
Harkar11 = Me.CboKulKar11.ListIndex
Harkar12 = Me.CboKulKar12.ListIndex
Harkar13 = Me.CboKulKar13.ListIndex
Harkar14 = Me.CboKulKar14.ListIndex
Harkar15 = Me.CboKulKar15.ListIndex
Harkar16 = Me.CboKulKar16.ListIndex
Harkar17 = Me.CboKulKar17.ListIndex
Harkar18 = Me.CboKulKar18.ListIndex
Harkar19 = Me.CboKulKar19.ListIndex
Harkar20 = Me.CboKulKar20.ListIndex


[B][COLOR=Blue]Call Module1.kayitdevam(Me)[/COLOR][/B]

'ActiveWorkbook.Save

End Sub
 
Hocam Ben aşağıdaki şekle çevirdim ama kayıt atmadı ilk 7 satırda problem yok modüle eklediğim 8. satıra geldiği zaman kayıt olmuyor
Kod:
Sub kayitdevam(ByRef uf As UserForm)
Dim satir As Long
Dim sayfa As Worksheet
Set frm = uf
Set sayfa = Worksheets("kayıtlar")
satir = sayfa.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

If CboBcins8 = "" Then
CboBcins8 = ""
Else
Cells(satir + 21, 1).Value = frm.TxtRec.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 2).Value = frm.TxtTarih.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 3).Value = frm.TxtVardya.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 4).Value = frm.Txtblm.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 5).Value = frm.CboPer.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 6).Value = frm.CboMakNo8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 7).Value = frm.TxtUsk8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 8).Value = frm.CboBcins8.List(HarUrn8) 'ilk satıra yazılacak veriler
Cells(satir + 21, 9).Value = frm.TxtBrm8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 10).Value = frm.TxtBobMik8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 13).Value = frm.Txtaciklama8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 14).Value = frm.TxtCalSure8.Value 'ilk satıra yazılacak veriler
Cells(satir + 21, 15).Value = frm.TxtStopSure8.Value 'ilk satıra yazılacak veriler
Cells(satir + 22, 1).Value = frm.TxtRec.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 2).Value = frm.TxtTarih.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 3).Value = frm.TxtVardya.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 4).Value = frm.Txtblm.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 5).Value = frm.CboPer.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 6).Value = frm.CboMakNo8.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 7).Value = frm.txtFireSk8 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 8).Value = "HURDA - GRANÜL" 'sonraki satırlara yazılacak veriler
Cells(satir + 22, 10).Value = frm.TxtFire8.Value 'sonraki satırlara yazılacak veriler
Cells(satir + 23, 1).Value = frm.TxtRec.Value
Cells(satir + 23, 2).Value = frm.TxtTarih.Value
Cells(satir + 23, 3).Value = frm.TxtVardya.Value
Cells(satir + 23, 4).Value = frm.Txtblm.Value
Cells(satir + 23, 5).Value = frm.CboPer.Value
Cells(satir + 23, 6).Value = frm.CboMakNo8.Value
Cells(satir + 23, 7).Value = frm.TxtYsk8.Value
Cells(satir + 23, 8).Value = frm.CboKulKar8.List(Harkar8)
Cells(satir + 23, 11).Value = frm.TxtKarMik8.Value
End If
 
Son düzenleme:
Geri
Üst