Makroyu Kısaltmak ?

Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Aşağıdaki kodu kısa bir halde yazabilrimiyiz.

Saygılar

Sub ALC_BORC_ORANI()
'Set S = Sheets("Sayfa2")
'Sayfa1.[c5] = WorksheetFunction.Sum([j2:j20])
Sayfa2.[F12] = WorksheetFunction.Sum([E12] - [G12+H12])
Sayfa2.[F13] = WorksheetFunction.Sum([E13] - [G13+H13])
Sayfa2.[F14] = WorksheetFunction.Sum([E14] - [G14+h14])
Sayfa2.[F15] = WorksheetFunction.Sum([e15] - [G15+H15])
Sayfa2.[F16] = WorksheetFunction.Sum([E16] - [g16+H16])
Sayfa2.[F17] = WorksheetFunction.Sum([E17] - [G17+H17])
Sayfa2.[F18] = WorksheetFunction.Sum([E18] - [G18+H18])
Sayfa2.[F19] = WorksheetFunction.Sum([E19] - [g19+H19])
Sayfa2.[F20] = WorksheetFunction.Sum([E20] - [G20+H20])
Sayfa2.[F21] = WorksheetFunction.Sum([E21] - [G21+H21])
Sayfa2.[F22] = WorksheetFunction.Sum([E22] - [G22+H22])
Sayfa2.[F23] = WorksheetFunction.Sum([E23] - [G23+h23])
Sayfa2.[F24] = WorksheetFunction.Sum([E24] - [G24+H24])
Sayfa2.[F25] = WorksheetFunction.Sum([E25] - [G25+H25])
Sayfa2.[F26] = WorksheetFunction.Sum([E26] - [G26+H26])
Sayfa2.[F27] = WorksheetFunction.Sum([E27] - [G27+H27])
Sayfa2.[F28] = WorksheetFunction.Sum([E28] - [G28+H28])
Sayfa2.[F29] = WorksheetFunction.Sum([E29] - [G29+H29])
Sayfa2.[F30] = WorksheetFunction.Sum([E30] - [G30+H30])
Sayfa2.[F31] = WorksheetFunction.Sum([E31] - [G31+H31])
Sayfa2.[F32] = WorksheetFunction.Sum([E32] - [G32+H32])
Sayfa2.[F33] = WorksheetFunction.Sum([E33] - [G33+H33])
Sayfa2.[F34] = WorksheetFunction.Sum([E34] - [G34+H34])
Sayfa2.[F35] = WorksheetFunction.Sum([E35] - [G35+H35])
Sayfa2.[F36] = WorksheetFunction.Sum([E36] - [G36+H36])
Sayfa2.[F37] = WorksheetFunction.Sum([E37] - [G37+H37])
Sayfa2.[F38] = WorksheetFunction.Sum([E38] - [G38+H38])
Sayfa2.[F39] = WorksheetFunction.Sum([E39] - [G39+H39])
Sayfa2.[F40] = WorksheetFunction.Sum([E40] - [G40+H40])
Sayfa2.[F41] = WorksheetFunction.Sum([E41] - [G41+H41])
Sayfa2.[F42] = WorksheetFunction.Sum([E42] - [G42+H42])
Sayfa2.[F43] = WorksheetFunction.Sum([E43] - [G43+H43])
Sayfa2.[F44] = WorksheetFunction.Sum([E44] - [G44+H44])
Sayfa2.[F45] = WorksheetFunction.Sum([E45] - [G45+H45])
Sayfa2.[F46] = WorksheetFunction.Sum([E46] - [G46+H46])
Sayfa2.[F47] = WorksheetFunction.Sum([E47] - [G47+H47])
Sayfa2.[F48] = WorksheetFunction.Sum([E48] - [G48+H48])
Sayfa2.[F49] = WorksheetFunction.Sum([E49] - [G49+H49])
Sayfa2.[F50] = WorksheetFunction.Sum([E50] - [G50+H50])
Sayfa2.[F51] = WorksheetFunction.Sum([E51] - [G51+H51])
Sayfa2.[F52] = WorksheetFunction.Sum([E52] - [G52+H52])
Sayfa2.[F53] = WorksheetFunction.Sum([E53] - [G53+H53])
Sayfa2.[F54] = WorksheetFunction.Sum([E54] - [G54+H54])
Sayfa2.[F55] = WorksheetFunction.Sum([E55] - [G55+H55])
Sayfa2.[F56] = WorksheetFunction.Sum([E56] - [G56+H56])
Sayfa2.[F57] = WorksheetFunction.Sum([E57] - [G57+H57])
Sayfa2.[F58] = WorksheetFunction.Sum([E58] - [G58+H58])
Sayfa2.[F59] = WorksheetFunction.Sum([E59] - [G59+H59])
Sayfa2.[F60] = WorksheetFunction.Sum([E60] - [G60+H60])
Sayfa2.[F61] = WorksheetFunction.Sum([E61] - [G61+H61])
Sayfa2.[F62] = WorksheetFunction.Sum([E62] - [G62+H62])
Sayfa2.[F63] = WorksheetFunction.Sum([E63] - [G63+H63])
Sayfa2.[F64] = WorksheetFunction.Sum([E64] - [G64+H64])
Sayfa2.[F65] = WorksheetFunction.Sum([E65] - [G65+H65])
Sayfa2.[F66] = WorksheetFunction.Sum([E66] - [G66+H66])
Sayfa2.[F67] = WorksheetFunction.Sum([E67] - [G67+H67])
Sayfa2.[F68] = WorksheetFunction.Sum([E68] - [G68+H68])
Sayfa2.[F69] = WorksheetFunction.Sum([E69] - [G69+H69])
Sayfa2.[F70] = WorksheetFunction.Sum([E70] - [G70+H70])
Sayfa2.[F71] = WorksheetFunction.Sum([E71] - [G71+H71])
Sayfa2.[F72] = WorksheetFunction.Sum([E72] - [G72+H72])
Sayfa2.[F73] = WorksheetFunction.Sum([E73] - [G73+H73])
Sayfa2.[F74] = WorksheetFunction.Sum([E74] - [G74+H74])
Sayfa2.[F75] = WorksheetFunction.Sum([E75] - [G75+H75])
Sayfa2.[F76] = WorksheetFunction.Sum([E76] - [G76+H76])
Sayfa2.[F77] = WorksheetFunction.Sum([E77] - [G77+H77])
Sayfa2.[F78] = WorksheetFunction.Sum([E78] - [G78+H78])
Sayfa2.[F79] = WorksheetFunction.Sum([E79] - [G79+H79])
Sayfa2.[F80] = WorksheetFunction.Sum([E80] - [G80+H80])
Sayfa2.[F81] = WorksheetFunction.Sum([E81] - [G81+H81])
Sayfa2.[F82] = WorksheetFunction.Sum([E82] - [G82+H82])
Sayfa2.[F83] = WorksheetFunction.Sum([E83] - [G83+H83])
Sayfa2.[c3] = WorksheetFunction.Sum([e12:e83])
Sayfa2.[c4] = WorksheetFunction.Sum([g12:g83])
Sayfa2.[c6] = WorksheetFunction.Sum([c3-c4])
Sayfa2.[c7] = WorksheetFunction.Sum([h12:h83]) + ([c4])
Sayfa2.[c8] = WorksheetFunction.Sum([C3-C7])
'Sayfa2.Range("F12") = toplam
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu şekilde denermisiniz..

Kod:
Sub ALC_BORC_ORANI()
Sheets("Sayfa2").Select
    For i = 12 To 83
        Cells(i, "f") = WorksheetFunction.Sum(Cells(i, "e") - _
        Cells(i, "g") - Cells(i, "h"))
    Next i
[C3] = WorksheetFunction.Sum([E12:E83])
[C4] = WorksheetFunction.Sum([G12:G83])
[C6] = WorksheetFunction.Sum([C3-C4])
[C7] = WorksheetFunction.Sum([H12:H83]) + ([C4])
[C8] = WorksheetFunction.Sum([C3-C7])
End Sub
.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
compile error
variable not defined

hatasını veriyor...

For i 'yi gösteriyor..
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodların başında

Option Explicit

var sanırım..

Kod:
Sub ALC_BORC_ORANI()
[COLOR=red]Dim i As Long[/COLOR]
Sheets("Sayfa2").Select
For i = 12 To 83
Cells(i, "f") = WorksheetFunction.Sum(Cells(i, "e") - _
Cells(i, "g") - Cells(i, "h"))
Next i
[C3] = WorksheetFunction.Sum([E12:E83])
[C4] = WorksheetFunction.Sum([G12:G83])
[C6] = WorksheetFunction.Sum([C3-C4])
[C7] = WorksheetFunction.Sum([H12:H83]) + ([C4])
[C8] = WorksheetFunction.Sum([C3-C7])
End Sub
Bu şekilde deneyin. Eğer yine olmazsa dosya ekleyiniz..

.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Örnek Dosya Ekledim..

Sayfa1 olarak ekledim ama orjinal dosyada sayfa2'de kullanıyorum.

Saygılar
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Dosyanız boş. Denedim, bu şekilde herhangi bir hata vermiyor zaten.

#4 nolu mesajı değiştirmiştim. Tekrar inceleyiniz..

.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Gönderdiğim dosyada bende deniyorum hata vermiyor ama orjinal dosyada
veriyor acaba,orjinalde başka kdolarda var ondan yapabilirmi.

Aşağıdaki kodlarda var sayfada

Option Explicit

Sub TOPLAM_ALACAK_SİP_VE_CEK()
With Sheets("Sayfa2").Range("E12:E83")
.Formula = "=SUMPRODUCT((MONTH(Sayfa2!A$12:A$83)=MONTH(a12))*(YEAR(Sayfa2!A$12:A$83)=YEAR(a12))*(Sayfa2!B$12:D$83))"
.Value = .Value
End With
End Sub
Private Sub CommandButton1_Click()
Call Sayfa1.SİPARİS_ALACAK_TOPLAMI
Call Sayfa4.MÇekTopla
Call Sayfa5.Msenedi_PortTopla
End Sub
Private Sub CommandButton2_Click()
Call Sayfa3.KÇekTopla
Call Sayfa6.YONETİM_TOPLA7
Call Sayfa7.İcraTopla
Call Sayfa8.PrtTopla
End Sub
Private Sub CommandButton3_Click()
Call Sayfa2.ALC_BORC_ORANI
Call Sayfa2.TOPLAM_ALACAK_SİP_VE_CEK
Call Sayfa9.BİR_KRİTERE_GÖRE_TOPLA
End Sub
Private Sub CommandButton4_Click()
SAYFA_GUNCELLE
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
#4 nolu mesajdaki kodu denediniz mi ?

Eğer denedikten sonra yine olmaz ise,

Option Explicit

Bu satırı silip deneyin. Yine de olmazsa orjinal dosyanızı içindeki verileri değiştirerek ekleyiniz..

.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Dediğiniz gib denedim olmuyor.

Orjinal dosya Ek'te

Saygılar
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sayfa2 20. satırda bulunan değer hatalarını düzelttikten sonra kodu çalıştırınız..

.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Teşekkür Ederim.

Saygılar
 
Üst