prosedür çok geniş hatası

Katılım
4 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2007
selam arkadaşlar,

daha öncede sizin göndermiş olduğunuz bilgiler ışığında hazırlamaya devam ettiğim programda bir hata oluştu.prosedürü kısa tutarsam çalışıyor ama daha onun içine yazmam gereken bir çok koşul var.bu koşulları modül içerisinde function larla çözebiliyorum ancak bu kodları çalışma sayfasında (sayfa1) çalıştıramadım. konuyla ilgili bir örneği koyuyorum

yardımlarınız için şimdiden çok teşekkürler.

saygılarımla
 

Ekli dosyalar

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ne yapmak istediğinizi açıklarsanız daha kısa çözümlerde üretilebilir.
 
Katılım
4 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2007
merhaba hocam

benim burada yapmak istediğim siparis giris sayfasındaki kod penceresine worksheets_change prosedürüne daha bir çok koşul içeren kod yazmam gerekiyor ama belli bir noktadan sonra prosedür çok geniş hatası veriyor.
sorum ise şudur bu prosedürü bölme şansımız varmı?
yada önere bileceğiniz başka bir yol varmıdır?

ilginizden dolayı teşekkür ederim.

saygılarımla
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,424
Excel Vers. ve Dili
excel 2010
merhaba

farklı işler için yazdığınız kodlarınızı ayrı ayrı yazarak kodları kısaltabilirsiniz.
aşağıdaki örneği inceleyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a1]) Is Nothing Then Exit Sub
Call makro_1
Call makro_2
End Sub
Kod:
Sub makro_1()
MsgBox "makro_1 çalışdı" & vbLf & "makro_2 çalıştırılacak"
End Sub
Kod:
Sub makro_2()
MsgBox "makro_2 çalışdı" & vbLf & "işlem tamam"
End Sub
 
Katılım
4 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2007
merhaba sayın uzmanamele

dediğiniz gibi makroları modüllere yazdım ancak worksheets_change de çağırdım ama sayfada makrolar çalışmadı acaba nerede hata yaptım ....göndermiş olduğum excel dosyası üzerinden yardımcı olabilirmisiniz şimdiden teşekkürler


saygılarımla,
 
Katılım
4 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2007
sorunuma bir cevap bulamadım,

merhaba arkadaşlar,
bu kodları sayfa penceresine yazdım ve bu kodların içerisine daha bir çok koşul içeren kod yazmam gerekiyor.ancak belli bir noktadan sonra prosedüe to large hatası veriyor.bu kodları ayrı ayrı makrolara yazıp çalıştırmayıda denedim ancak beceremedim.sizlerden ricam bana bu konuda bir örnek vrebilirseniz devamını ben getirebilirim.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [Y:Y]) Is Nothing Then Exit Sub
If Target <> "" And Target.Offset(0, -17) = 12 And Target.Offset(0, -3) = "" Then
Target.Offset(0, 5) = Format((Target.Offset(0, -13) - 50), "#,##0.00")
Target.Offset(0, 6) = Format((Target.Offset(0, -12) - 25) - (Target.Offset(0, -1)), "#,##0.00")
Target.Offset(0, 1) = ""
Target.Offset(0, 2) = ""
Target.Offset(0, 3) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 9) = "03.311.4" & Target.Offset(0, -11)
Target.Offset(0, 11) = Format((Target.Offset(0, 0) * 2.5), "#,##0.00")

end if
end sub

bunu şu şekilde denedim acaba hatam nerede,


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''örnek deneme

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [Y:Y]) Is Nothing Then Exit Sub

call makro_1

end sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sub makro_1()

If Intersect(Target, [Y:Y]) Is Nothing Then Exit Sub
If Target <> "" And Target.Offset(0, -17) = 12 And Target.Offset(0, -3) = "" Then
Target.Offset(0, 5) = Format((Target.Offset(0, -13) - 50), "#,##0.00")
Target.Offset(0, 6) = Format((Target.Offset(0, -12) - 25) - (Target.Offset(0, -1)), "#,##0.00")
Target.Offset(0, 1) = ""
Target.Offset(0, 2) = ""
Target.Offset(0, 3) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 9) = "03.311.4" & Target.Offset(0, -11)
Target.Offset(0, 11) = Format((Target.Offset(0, 0) * 2.5), "#,##0.00")

end if
end sub


bu şekilde yaptım ancak sayfada hücrelere gerekli koşulları girmeme rağmen çalışmadı,

yardımlarınızı bekliyorum

saygılarımla
 
Üst