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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,656
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim hocam.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
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.
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,656
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. ECYavuz kodda gerekli düzenlemeyi yapmış. Bende üstteki mesajımdaki kodu revize ettim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim Korhan hocam vew sn Ecyavuz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
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.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
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
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,656
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodu güncelledim incelermisiniz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
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.
 
Üst