• DİKKAT

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

Hesaplamayı durdurma

Katılım
3 Ocak 2008
Mesajlar
51
Excel Vers. ve Dili
tr
Arkadaşlar;
Topla.Çarpım ile yıgın veriden bir çok raporlama alıyorum.
Fakat, veri miktarı arttıkça, veri girişlerinde "HESAPLANIYOR" diyerek oldukça uzun zaman almaya başladı.
Bir çok Topla.Çarpım oldugu için bunların hepsini makro yla tekrar yazmak yerine,

Makro ile bunu butona baglayabilirmiyim.

Örneğin ben sadece command buton'a tıkladıgımda tıkladıgımda o sayfayı hesaplayacak, diğer türlü sorgulama yapmayacak.

Şimdiden tesekkurler
 

merhaba
tarih arası için
Kod:
Sub tarih_arası()
Dim ts, kaplan, c, d, e, f, g, h, ı
Application.ScreenUpdating = False
For kaplan = 6 To Cells(65536, "B").End(xlUp).Row
c = 0: d = 0: e = 0: f = 0: g = 0: h = 0: ı = 0
For ts = 2 To Sheets("Data").Cells(65536, "B").End(xlUp).Row
If Sheets("Data").Cells(ts, "C") = Cells(kaplan, "B") And _
Sheets("Data").Cells(ts, "B") >= Range("E3") And _
Sheets("Data").Cells(ts, "B") <= Range("I3") Then
c = c + Sheets("Data").Cells(ts, "G")
d = d + Sheets("Data").Cells(ts, "H")
e = e + Sheets("Data").Cells(ts, "F")
f = f + Sheets("Data").Cells(ts, "I")
g = g + Sheets("Data").Cells(ts, "J")
h = h + Sheets("Data").Cells(ts, "K")
ı = ı + Sheets("Data").Cells(ts, "L")
Cells(kaplan, "C") = c
Cells(kaplan, "D") = d
Cells(kaplan, "E") = e
Cells(kaplan, "F") = f
Cells(kaplan, "G") = g
Cells(kaplan, "H") = h
Cells(kaplan, "I") = ı
Cells(kaplan, "J") = WorksheetFunction.Sum(Range("F" & kaplan & ":I" & kaplan))
Cells(kaplan, "K") = Cells(kaplan, "J") / (Cells(kaplan, "J") + Cells(kaplan, "D"))
End If
Next
Next
Application.ScreenUpdating = True
End Sub
günlük için
Kod:
[COLOR="Red"]Option Explicit[/COLOR]
Sub günlük()
Dim ts, kaplan, c, d, e, f, g, h, ı
Application.ScreenUpdating = False
For kaplan = 6 To Cells(65536, "B").End(xlUp).Row
c = 0: d = 0: e = 0: f = 0: g = 0: h = 0: ı = 0
For ts = 2 To Sheets("Data").Cells(65536, "B").End(xlUp).Row
If Sheets("Data").Cells(ts, "C") = Cells(kaplan, "B") And _
Sheets("Data").Cells(ts, "B") = Range("E3") Then
c = c + Sheets("Data").Cells(ts, "G")
d = d + Sheets("Data").Cells(ts, "H")
e = e + Sheets("Data").Cells(ts, "F")
f = f + Sheets("Data").Cells(ts, "I")
g = g + Sheets("Data").Cells(ts, "J")
h = h + Sheets("Data").Cells(ts, "K")
ı = ı + Sheets("Data").Cells(ts, "L")
Cells(kaplan, "C") = c
Cells(kaplan, "D") = d
Cells(kaplan, "E") = e
Cells(kaplan, "F") = f
Cells(kaplan, "G") = g
Cells(kaplan, "H") = h
Cells(kaplan, "I") = ı
Cells(kaplan, "J") = WorksheetFunction.Sum(Range("F" & kaplan & ":I" & kaplan))
Cells(kaplan, "K") = Cells(kaplan, "J") / (Cells(kaplan, "J") + Cells(kaplan, "D"))
End If
Next
Next
Application.ScreenUpdating = True
End Sub
aynı module kopyalayacaksanız kırmızı olan yerden sadece bir tane olmalı.
vardiyalık rapor'daki formülün çalışıp çalışmadığını bilmediğim için yapmadım. çalışıyorsa onuda düzenliyeyip göndereyim.
 
Makro kullanmadan yapmak için:
Microsoft Office Düğmesi'ni , Excel Seçenekleri'ni ve sonra da Formüller kategorisini tıklatın. O başlık altında çalışma kitabının hesaplanması "el ile" seçeneğini işaretleyip kaydedin..Böylelikle çalışma kitabınız daha da hızlanacaktır..
 
Geri
Üst