• DİKKAT

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

Makro Formülü

Katılım
15 Haziran 2008
Mesajlar
286
Excel Vers. ve Dili
XP Office 2003
Arkadaşlar Çalışmamda buton var tıkladın mı işlem yapıyor

Makrosu
Sub calistir()

Fakat ben buton istemiyorum Sub calistir() yerine ne yazar isem çalışır
 
Merhaba,
Ne işlem yapılacak? Butonsuz mu çalışmasını istiyorsunuz?
 
Arkadaşlar çalışmamda bir buton var bu butona aşağıdaki işlemleri yaptırıyorum.

ben aşağıda ki işlemleri buton kullanmadan nasıl yaptırabilirim.

Sub formülleri_uygula()
Application.ScreenUpdating = False
On Error Resume Next
Range("a4:a65536").Select
Selection.ClearContents
Range("c4:c65536").Select
Selection.ClearContents
Range("h4:j65536").Select
Selection.ClearContents
Range("a4").Select
sayfaa = [A2]
Set s1 = ThisWorkbook.Worksheets(sayfaa)
For i = 4 To ActiveSheet.Rows.Count
s1.Cells(i, "c") = s1.Cells(i, "b") * (s1.Cells(i, "e") + s1.Cells(i, "g"))
s1.Cells(i, "h") = WorksheetFunction.Sum(Range("n" & i & ":co" & i))
s1.Cells(i, "ı") = (s1.Cells(i, "e") + (s1.Cells(i, "g"))) - (s1.Cells(i, "h"))
If s1.Cells(i, "e") > 0 Then s1.Cells(i, "j") = s1.Cells(i, "h") / (s1.Cells(i, "e") + s1.Cells(i, "g"))
If s1.Cells(i, "e") = "0" Then s1.Cells(i, "j") = ""

If s1.Cells(i, "d") = "" Then Exit For
If s1.Cells(i, "j") >= 0.8 Then s1.Cells(i, 1) = "KRİTİK SİPARİŞ"
If s1.Cells(i, "j") <= 0.8 Then s1.Cells(i, 1) = "YETERLİ STOK"
If s1.Cells(i, "e") = 0 Then s1.Cells(i, 1) = "SİPARİŞ HAKKIN YOK"
If s1.Cells(i, "j") >= 1 Then s1.Cells(i, 1) = "SİPARİŞ BİTTİ"
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub
 
Arkadaşlar yukarıdaki komutu butona tıklamadan ilgili hücreye veri girdiğimden otomatik nasıl hesaplarım
 
Arkadaşlar excelde bir çalışma yaptım butonu aşağıda ki komut yazılı. butona tıkladığımda işlem yapıyor.
Oysaki ben istiyorum ki hesaplamaya yapacak hücrelerde veri değiştirdiğimde butonu tıklamadan aşağıdaki komutdaki işlemleri yapsın. bunun için Sub formülleri_uygula() yerine ne yazmam lazım.
Sub formülleri_uygula()
Application.ScreenUpdating = False
On Error Resume Next
Range("a4:a65536").Select
Selection.ClearContents
Range("c4:c65536").Select
Selection.ClearContents
Range("h4:j65536").Select
Selection.ClearContents
Range("a4").Select
sayfaa = [A2]
Set s1 = ThisWorkbook.Worksheets(sayfaa)
For i = 4 To ActiveSheet.Rows.Count
s1.Cells(i, "c") = s1.Cells(i, "b") * (s1.Cells(i, "e") + s1.Cells(i, "g"))
s1.Cells(i, "h") = WorksheetFunction.Sum(Range("n" & i & ":co" & i))
s1.Cells(i, "ı") = (s1.Cells(i, "e") + (s1.Cells(i, "g"))) - (s1.Cells(i, "h"))
If s1.Cells(i, "e") > 0 Then s1.Cells(i, "j") = s1.Cells(i, "h") / (s1.Cells(i, "e") + s1.Cells(i, "g"))
If s1.Cells(i, "e") = "0" Then s1.Cells(i, "j") = ""

If s1.Cells(i, "d") = "" Then Exit For
If s1.Cells(i, "j") >= 0.8 Then s1.Cells(i, 1) = "KRİTİK SİPARİŞ"
If s1.Cells(i, "j") <= 0.8 Then s1.Cells(i, 1) = "YETERLİ STOK"
If s1.Cells(i, "e") = 0 Then s1.Cells(i, 1) = "SİPARİŞ HAKKIN YOK"
If s1.Cells(i, "j") >= 1 Then s1.Cells(i, 1) = "SİPARİŞ BİTTİ"
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub
 
Geri
Üst