• DİKKAT

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

Makro ile Saatten Dakika Çıkarmak

Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Merhabalar,
A-B-C-D Sütunlarında 07:42 , 08:15 , 09:20 .... gibi saat verileri yer almaktadır. Ben bu saatlerin hepsinden 20 dakika çıkarmak istiyorum. Örneğin A2 hücresinde 07:42 saati yer alıyor. Makro çalıştırıldığında 07:22 olmasını istiyorum. Tabi bunu sütunlardaki bütün saatlere uygulasın. Şimdiden çok teşekkürler.
 
Kod:
Sub test()
    Dim huc As Range
    For Each huc In Intersect([A:D], ActiveSheet.UsedRange)
        If Not IsEmpty(huc.Value) And IsNumeric(huc.Value) Then
            If huc.Value > TimeSerial(0, 20, 0) Then
                huc.Value = huc.Value - TimeSerial(0, 20, 0)
                Else
                huc.Value = huc.Value + TimeSerial(23, 40, 0)
            End If
        End If
    Next
End Sub
 
Ellerinize sağlık çok güzel olmuş, çok teşekkürler...
 
Alternatif;

Makro kullanmadan kopyala-özel yapıştır-değerleri-çıkar adımı ile de yapabilirsiniz.

Boş bir hücreye 00:20 yazın.
Sonra bu hücreyi kopyalayın.
Sonra saatlerin bulunduğu hücreleri seçin.
Sağ klik özel yapıştır-değerleri-çıkar komutlarını seçip işlemi tamamlayın.
 
Tekrar Merhabalar,
Hocam şimdi butona her tıkladığımda 20 dk düşürüyor ben bunun bi defa olmasını istiyorum ikinci defa tıklandığında uyarı versin bunu da yaparsanız çok sevinirim.
 
Çalışma kitabı her açıldıktan sonra bir kez çalışacaktır.
Kod:
Dim calisti As Boolean
Sub test()
    If calisti Then Exit Sub
    calisti = True
    Dim huc As Range
    For Each huc In Intersect([A:D], ActiveSheet.UsedRange)
        If Not IsEmpty(huc.Value) And IsNumeric(huc.Value) Then
            If huc.Value > TimeSerial(0, 20, 0) Then
                huc.Value = huc.Value - TimeSerial(0, 20, 0)
            Else
                huc.Value = huc.Value + TimeSerial(23, 40, 0)
            End If
        End If
    Next
End Sub
 
Korhan hocam ve Veysel bey ikinize de çok teşekkür ederim. Her iki yöntem de fazlasıyla işe yarıyor.
 
Geri
Üst