• DİKKAT

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

Selection.Autofill Özelliğinin Bütün Sayfalarda Uygulanması

Katılım
6 Mayıs 2008
Mesajlar
125
Excel Vers. ve Dili
Microsoft Excel 2007 Tr
Merhaba arkadaşlar benim sorum şu şekilde olacaktı,aşağıdaki kodlar ile bir sayfada formülleri yazdırıyorum ama bütün sayfalarda selection.autofill özelliğini kullanmak istediğim zaman hata veriyor.Kodları kısaltmak için kullanmam gerekiyor bu özelliği yoksa aşağıdaki kodlarda olduğu gibi formülleri her hücreye yazmak zorunda kalıyorum.Nasıl kodları kısaltabilirim acaba? Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.


Kod:
Sub Sayfa_Formülleri()
Application.ScreenUpdating = False

Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Unprotect "12345"
'Genel Toplamlar
Sheets(i).Range("d31").Value = "=sum(d7:d30)"
Sheets(i).Range("e31").Value = "=sum(e7:e30)"
Sheets(i).Range("f31").Value = "=sum(f7:f30)"
Sheets(i).Range("g31").Value = "=sum(g7:g30)"
Sheets(i).Range("h31").Value = "=sum(h7:h30)"
Sheets(i).Range("j31").Value = "=sum(j7:j30)"
Sheets(i).Range("k31").Value = "=sum(k7:k30)"

Sheets(i).Range("d33").Value = "=d31"
Sheets(i).Range("d34").Value = "=e31+f31+g31+h31+j31+k31"
Sheets(i).Range("d35").Value = "=k31"
Sheets(i).Range("d36").Value = "=sum(j34:j37)"
Sheets(i).Range("d37").Value = "=d33-d36-h53"
'TL Kasası
Sheets(i).Range("c42").Value = "=a42*b42"
Sheets(i).Range("c43").Value = "=a43*b43"
Sheets(i).Range("c44").Value = "=a44*b44"
Sheets(i).Range("c45").Value = "=a45*b45"
Sheets(i).Range("c46").Value = "=a46*b46"
Sheets(i).Range("c47").Value = "=a47*b47"
Sheets(i).Range("c48").Value = "=a48*b48"
Sheets(i).Range("c49").Value = "=a49*b49"
Sheets(i).Range("c50").Value = "=a50*b50"
Sheets(i).Range("c51").Value = "=a51*b51"
Sheets(i).Range("c52").Value = "=sum(c42:c51)"
Sheets(i).Range("c53").Value = "=d37-c52"
Sheets(i).Range("a53").Value = "=if(c52>0.01,Kasa Tutarı,)"
'Döviz Kasası
Sheets(i).Range("h42").Value = "=f42*g42"
Sheets(i).Range("h43").Value = "=f43*g43"
Sheets(i).Range("h44").Value = "=f44*g44"
Sheets(i).Range("h45").Value = "=f45*g45"
Sheets(i).Range("h46").Value = "=f46*g46"
Sheets(i).Range("h47").Value = "=f47*g47"
Sheets(i).Range("h48").Value = "=f48*g48"
Sheets(i).Range("h49").Value = "=f49*g49"
Sheets(i).Range("h50").Value = "=f50*g50"
Sheets(i).Range("h51").Value = "=f51*g51"
Sheets(i).Range("h52").Value = "=f52*g52"

Sheets(i).Range("h53").Value = "=sum(h42:h52)"

Sheets(i).Range("k42").Value = "=(f42*j42)-(f42*g42)"
Sheets(i).Range("k43").Value = "=(f43*j43)-(f43*g43)"
Sheets(i).Range("k44").Value = "=(f44*j44)-(f44*g44)"
Sheets(i).Range("k45").Value = "=(f45*j45)-(f45*g45)"
Sheets(i).Range("k46").Value = "=(f46*j46)-(f46*g46)"
Sheets(i).Range("k47").Value = "=(f47*j47)-(f47*g47)"
Sheets(i).Range("k48").Value = "=(f48*j48)-(f48*g48)"
Sheets(i).Range("k49").Value = "=(f49*j49)-(f49*g49)"
Sheets(i).Range("k50").Value = "=(f50*j50)-(f50*g50)"
Sheets(i).Range("k51").Value = "=(f51*j51)-(f51*g51)"
Sheets(i).Range("k52").Value = "=(f52*j52)-(f52*g52)"

Sheets(i).Range("k53").Value = "=sum(k42:k52)"
Sheets(i).Protect "12345"
Next i

Range("a1").Select

MsgBox "Hatalar Kontrol Edilip Düzeltilmiştir!...", , "ERDİNÇ GÜDER"

End Sub
 
Merhaba,

Eski kodları karıştırmadan. Yapmak istediğinizi küçük bir örnek dosya ekleyerek detayllı açıklarmısınız.
 
Merhaba,

Eski kodları karıştırmadan. Yapmak istediğinizi küçük bir örnek dosya ekleyerek detayllı açıklarmısınız.

Merhaba Ömer Bey,4 sayfalık bi örnek dosyayı ekliyorum.Yapmak istediğim sayfa formüllerini makroyla yazarken kısaltma yapmak için selection.autofill yöntemini kullanmak istiyorum ama hata veriyor.365tane sayfa oluyor ve dosya boyutu 2 mb civarında oluyor,bu yüzden kaydederken kasıyor.Kodlarda kısaltma yapılabilir mi acaba?
 

Ekli dosyalar

Denemedim fakat dosyadaki kasılma sayfa sayısının ve formüllerin fazlalığından kaynaklanıyordur.

Bu tür dosyalarda hesaplamayı el ile seçmenizi tavsiye ederim. Excel Seçenekler bölümünün formül kısmında hesaplamayı "el ile" seçin. Hesaplamayı yapmak için F9 tuşunu kullanabilirsiniz. Bu şekilde dosyada çalışırken kasılmalardan kurtulursunuz.

Ayrıca kodlara aşağıdaki mavi işaretli ilaveleri yaparak çalıştırın.

Kod:
Sub Sayfa_Formülleri()
 
 
[COLOR=blue]   With Application[/COLOR]
[COLOR=blue]       .ScreenUpdating = False[/COLOR]
[COLOR=blue]       .Calculation = xlManual[/COLOR]
[COLOR=blue]   End With[/COLOR]
 
[COLOR=red]'kodlarınız[/COLOR]
 
 [COLOR=blue]   With Application[/COLOR]
[COLOR=blue]       .ScreenUpdating = True[/COLOR]
[COLOR=blue]       .Calculation = xlAutomatic[/COLOR]
[COLOR=blue]   End With[/COLOR]
 
End Sub

.
 
Denemedim fakat dosyadaki kasılma sayfa sayısının ve formüllerin fazlalığından kaynaklanıyordur.

Bu tür dosyalarda hesaplamayı el ile seçmenizi tavsiye ederim. Excel Seçenekler bölümünün formül kısmında hesaplamayı "el ile" seçin. Hesaplamayı yapmak için F9 tuşunu kullanabilirsiniz. Bu şekilde dosyada çalışırken kasılmalardan kurtulursunuz.

Ayrıca kodlara aşağıdaki mavi işaretli ilaveleri yaparak çalıştırın.

Kod:
Sub Sayfa_Formülleri()
 
 
[COLOR=blue]   With Application[/COLOR]
[COLOR=blue]       .ScreenUpdating = False[/COLOR]
[COLOR=blue]       .Calculation = xlManual[/COLOR]
[COLOR=blue]   End With[/COLOR]
 
[COLOR=red]'kodlarınız[/COLOR]
 
 [COLOR=blue]   With Application[/COLOR]
[COLOR=blue]       .ScreenUpdating = True[/COLOR]
[COLOR=blue]       .Calculation = xlAutomatic[/COLOR]
[COLOR=blue]   End With[/COLOR]
 
End Sub

.

Çok teşekkürler Ömer Bey tavsiyeleriniz ve ilgilendiğiniz için.Kolay gelsin...
 
Geri
Üst