• DİKKAT

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

Makro sonundaki mesaja işleminiz şu kadar sürede tamamlandı demek

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Arkadaşlar selam.

Kod:
Sub sbForNext

[color="Red"][B]bsZmn = ????[/B][/color]

For syc = 1 to 10000 

..................

next syc

[color="Red"]
[B] btZmn = ????[/B]
[B]gnZmn = btZmn - bsZmn

Msgbox gnZmn & " sürede kodunuz tamamlandı"[/B]
[/color]

end sub
kırmızı fonta göre kodu revize etmek istersem ???? iaşretlerine ne yazmalıyım.

gnZmn formatının uc halide ayrı ayrı lazım.

mesaj = 00:05:25 sürede tamamlandı ve

mesaj = 00 saat 5 dakika 25 saniyede tamamlandı

mesaj = 325 saniyede tamamlandı

alakanız için teşekkür ederim.
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub İŞLEM_SÜRESİ_HESAPLA()
    Dim İLK, SON, İŞLEM_SÜRESİ, SAAT, DAKİKA, SANİYE, SALİSE
    İLK = Time
    For X = 1 To 1000
    For Y = 1 To 10
    Cells(X, Y) = X
    Next
    Next
    SON = Time
    İŞLEM_SÜRESİ = Format((SON - İLK), "hh:mm:ss.dd")
    SAAT = Format((SON - İLK), "hh")
    DAKİKA = Format((SON - İLK), "nn")
    SANİYE = Format((SON - İLK), "ss")
    SALİSE = Format((SON - İLK), "dd")
    MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ, vbInformation
    MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & SAAT & " SAAT - " & DAKİKA & " DAKİKA - " & SANİYE & " SANİYE - " & SALİSE & " SALİSE", vbInformation
End Sub
 
Son düzenleme:
teşekkür ederim hocam.
 
Sn Korhjan hocam
' Dim İŞLEM_SÜRESİ_SAAT As Date
' Dim İŞLEM_SÜRESİ_DAKİKA As Date
' Dim İŞLEM_SÜRESİ_SANİYE As Date

Süreleri tanımlarken date olarak tanımlayınca hata veriyor
Integer denedim oda hata verdi..
Ne olarak tanımlamamız uygun olur.
 
Aşağıdaki şekilde uygulayınce ben de hata vermedi sn hsayar...

Dim İLK As Date
Dim SON As Date
Dim İŞLEM_SÜRESİ As Date
Dim İŞLEM_SÜRESİ_SAAT As Date
Dim İŞLEM_SÜRESİ_DAKİKA As Date
Dim İŞLEM_SÜRESİ_SANİYE As Date
İLK = Time
For X = 1 To 65536
For Y = 1 To 30
Cells(X, Y) = X
Next
Next
SON = Time
İŞLEM_SÜRESİ = Format((SON - İLK), "hh:mm:ss")
İŞLEM_SÜRESİ_SAAT = Format((SON - İLK), "hh")
İŞLEM_SÜRESİ_DAKİKA = Format((SON - İLK), "nn")
İŞLEM_SÜRESİ_SANİYE = Format((SON - İLK), "ss")
MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ, vbInformation
MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ_SAAT & " SAAT", vbInformation
MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ_DAKİKA & " DAKİKA", vbInformation
MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ_SANİYE & " SANİYE", vbInformation
End Sub
 
Selamlar,

Sn. ECYavuz kodda gerekli düzenlemeyi yapmış. Bende üstteki mesajımdaki kodu revize ettim.
 
teşekkür ederim Korhan hocam vew sn Ecyavuz.
 
sn hocam aşağıdaki gibi olunca
İŞLEM_SÜRESİ_SANİYE = Format((SON - İLK), "ss")
1 saniye çin 31/12/1899 diye dönüyor...

nasıl düzenleme yapmalıyız.
 
Eğer salisenin önemi yoksa ben bu şekilde yapardım.
Kod:
t = Time
 
For i = 1 To "10.000"
    DoEvents
    Cells(i, 1) = "excel"
    Application.StatusBar = Format$(Time - t, "hh:mm:ss")
Next i
 
aslında salisenin kullanılabileceğini bile bilmiyordum hocam çok zor değilse olabilir. (Eşeğin aklına karpuz kabuğu düşürüdünüz hocam :)

neyse asıl önemli olan
yazdığınız kodu çalıştırmaya 23:59: xx küsurda başladım herhalde format sapıttı çözümü...

Asıl amacım işlem bitiminde
"işleminiz" & ss & " saat " & dd & " dakika " & ss & " saniyede tamamlandı"

diye mesajla bilgi vermek.

tabi işlem yaparken sizin yaptığınız gibi toolbarda sayaçta fena durmuyor :) birleşirse gerçekten mükemmel olur.
 
Selamlar,

Üstteki mesajımdaki kodu güncelledim incelermisiniz.
 
Teşekkür ederim Korhan hocam

Kod:
Sub İŞLEM_SÜRESİ_HESAPLA()
    Dim İLK, SON As Date, İŞLEM_SÜRESİ, SAAT, DAKİKA, SANİYE, SALİSE As String
    İLK = Time
    For X = 1 To 10000
    For Y = 1 To 3
    Cells(X, Y) = X
    Next
    Next
    SON = Time
    İŞLEM_SÜRESİ = Format((SON - İLK), "hh:mm:ss.dd")
    SAAT = Format((SON - İLK), "hh")
    DAKİKA = Format((SON - İLK), "nn")
    SANİYE = Format((SON - İLK), "ss")
    SALİSE = Format((SON - İLK), "dd")
    MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & İŞLEM_SÜRESİ, vbInformation
    MsgBox "İŞLEMİNİZİN TAMAMLANMA SÜRESİ : " & SAAT & " SAAT - " & DAKİKA & " DAKİKA - " & SANİYE & " SANİYE - " & SALİSE & " SALİSE", vbInformation
End Sub

bu arada değişkenleri variant yerine daha hafızada yer tutmayacak şekilde boyutlandırdım.
 
Geri
Üst