[Yardım]  Makro da modun karşılığı ne

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Makro da modun karşılığı ne

İleti#1)  gamisaga » 01 Ağu 2019 13:24

Merhaba,

Yapmak istediğim şey makroda A hücresindeki saatlerden 3 saat çıkarmak. Normalde Excel üzerinde

Kod: Tümünü seç
Mod(A1-B1;1)


işimi görüyor ama bu kodu macro ile nasıl düzenleyebilirim.

Gece 02:00 den 3 saat çıkarmak istediğimde sonuc olarak 23:00 saatini bulmak istiyorum. Normalde negatif sayı olmayacağı için hata veriyor.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Makro da modun karşılığı ne

İleti#2)  muratboz06 » 01 Ağu 2019 16:21

Eki inceleyiniz.
Formül ile yapılmıştır.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
muratboz06
Yeni Başlamış
 
Kayıt: 20 May 2018 18:06
Meslek: Uzman
Yaş: 35
İleti: 17
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: Makro da modun karşılığı ne

İleti#3)  muratboz06 » 01 Ağu 2019 16:31

Düzeltme yapılmıştır.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
muratboz06
Yeni Başlamış
 
Kayıt: 20 May 2018 18:06
Meslek: Uzman
Yaş: 35
İleti: 17
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: Cevap: Makro da modun karşılığı ne

İleti#4)  gamisaga » 01 Ağu 2019 18:34

muratboz06 yazdı:Düzeltme yapılmıştır.


Cevap ve ilgin icin tesekkur ederim, aslinda ben bunu makroda yapmak istiyorum.

Sikintim orda basliyor. saatlerimde saniye yok ve hep saat cikarticam.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Makro da modun karşılığı ne

İleti#5)  gamisaga » 02 Ağu 2019 03:53

:geek: bunu yapamaz miyiz ki ?

yada formulu hucre icine yazdirabilir miyim ?
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Makro da modun karşılığı ne

İleti#6)  hasan14 » 02 Ağu 2019 05:17

Aşağıdaki şekilde deneyiniz.
Döngü kurarak
Kod: Tümünü seç
Sheets("Sayfa1").Cells(i, 3) = WorksheetFunction.Text(Sheets("Sayfa1").Cells(i, 2) - Sheets("Sayfa1").Cells(i, 1), "[hh]:mm")

Mod yazımı (Doğru sonuç bulamadım.Bulursanız lütfen yazınız.)
Kod: Tümünü seç
Sheets("Sayfa1").Cells(i, 3) = (Sheets("Sayfa1").Cells(i, 1) - Sheets("Sayfa1").Cells(i, 2) Mod 1)
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Makro da modun karşılığı ne

İleti#7)  muratboz06 » 02 Ağu 2019 08:02

Size göndermiş olduğumu excel dosyasında A sütununa saat bilgilerinizi kopyalayınız, B2 den aşağıya doğru formülleri de kopyalarsanız girmiş olduğunuz saatlerden 3 saat çıkartmış olur. B sütunundaki saatleri istediğiniz yere taşıyabilirsiniz.
Bütün saat hücrelerini seçerek Hücre Biçimlendirmeden Saati seçiniz, saat formatını da saat:dakika olacak şekilde seçiniz.
Kullanıcı avatarı
muratboz06
Yeni Başlamış
 
Kayıt: 20 May 2018 18:06
Meslek: Uzman
Yaş: 35
İleti: 17
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA

Cevap: Makro da modun karşılığı ne

İleti#8)  Ali ÖZ » 02 Ağu 2019 08:15

Alternatif.

Kod: Tümünü seç
Private Sub CommandButton1_Click()
    On Error Resume Next
    saatfark = Split(Format(Range("a1").Value, "hh:mm"), ":")(0) - Split(Format(Range("b1").Value, "hh:mm"), ":")(0)
    dakikafark = Split(Format(Range("a1").Value, "hh:mm"), ":")(1) - Split(Format(Range("b1").Value, "hh:mm"), ":")(1)
    Range("c1").Value = Format(saatfark & ":" & dakikafark, "hh:mm")
    If Split(Format(Range("b1").Value, "hh:mm"), ":")(0) > Split(Format(Range("a1").Value, "hh:mm"), ":")(0) Then
      Range("c1").Value = Format(saatfark + 24 & ":" & dakikafark, "hh:mm")
    End If
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9955
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Makro da modun karşılığı ne

İleti#9)  gamisaga » 02 Ağu 2019 13:07

hasan14 yazdı:Aşağıdaki şekilde deneyiniz.
Döngü kurarak
Kod: Tümünü seç
Sheets("Sayfa1").Cells(i, 3) = WorksheetFunction.Text(Sheets("Sayfa1").Cells(i, 2) - Sheets("Sayfa1").Cells(i, 1), "[hh]:mm")

Mod yazımı (Doğru sonuç bulamadım.Bulursanız lütfen yazınız.)
Kod: Tümünü seç
Sheets("Sayfa1").Cells(i, 3) = (Sheets("Sayfa1").Cells(i, 1) - Sheets("Sayfa1").Cells(i, 2) Mod 1)


Maalesef istediğim sonucu alamadım :( hata alıyorum yada saat eksilmiyor.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Makro da modun karşılığı ne

İleti#10)  hasan14 » 02 Ağu 2019 13:15

Sanırım sizde sadece saat yazılı,saat ve tarih yazılı ise örnek dosya
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

Cevap: Makro da modun karşılığı ne

İleti#11)  ahmetonline » 02 Ağu 2019 13:48

ilk 100 satır için yaptım ama saati 00:00 yerine 24:00 yazarsan sıkıntı olmuyor.
a hücresindeki saat örnegin 11:00 şekine b hücresindeki saati 3:00 gibi yazman gerekli
Kod: Tümünü seç
Sub SAAT()
For İ = 1 To 100
A = A + 1
B = B + 1
C = C + 1
Selection.NumberFormat = "h:mm"
Cells(A, 3) = Cells(B, 1).Value - Cells(C, 2).Value
Next
End Sub
Kullanıcı avatarı
ahmetonline
Yeni Başlamış
 
Kayıt: 16 May 2018 12:16
Meslek: serbest
Yaş: 39
İleti: 90
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: kocaeli

Cevap: Cevap: Makro da modun karşılığı ne

İleti#12)  gamisaga » 02 Ağu 2019 13:57

Ali ÖZ yazdı:Alternatif.

Kod: Tümünü seç
Private Sub CommandButton1_Click()
    On Error Resume Next
    saatfark = Split(Format(Range("a1").Value, "hh:mm"), ":")(0) - Split(Format(Range("b1").Value, "hh:mm"), ":")(0)
    dakikafark = Split(Format(Range("a1").Value, "hh:mm"), ":")(1) - Split(Format(Range("b1").Value, "hh:mm"), ":")(1)
    Range("c1").Value = Format(saatfark & ":" & dakikafark, "hh:mm")
    If Split(Format(Range("b1").Value, "hh:mm"), ":")(0) > Split(Format(Range("a1").Value, "hh:mm"), ":")(0) Then
      Range("c1").Value = Format(saatfark + 24 & ":" & dakikafark, "hh:mm")
    End If
End Sub


Ali bey Saat olarak kodunuzu düzenlediğimde sonuç alabiliyorum ama bazı yerlerde şimdi 45 dk çıkarmam gerekti ve ozaman kod maalesef olmuyor :(
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Makro da modun karşılığı ne

İleti#13)  hasan14 » 02 Ağu 2019 14:02

Tarih yazılı değil saat yazılı ise deneyiniz.
Kod: Tümünü seç
Sub gece()
Dim s1 As Worksheet: Dim i As Integer: Dim son As Integer
Set s1 = Sheets("Sayfa1")
son = s1.Cells(65355, "A").End(3).Row
For i = 2 To son
If s1.Cells(i, 2) < s1.Cells(i, 1) Then
s1.Cells(i, 3) = WorksheetFunction.Text((s1.Cells(i, 2) - s1.Cells(i, 1) + 1), "[hh]:mm")
Else
s1.Cells(i, 3) = WorksheetFunction.Text((s1.Cells(i, 2) - s1.Cells(i, 1)), "[hh]:mm")
End If
Next i
End Sub
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

Cevap: Makro da modun karşılığı ne

İleti#14)  hasan14 » 02 Ağu 2019 14:23

Uygulama sonucu
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

Cevap: Cevap: Makro da modun karşılığı ne

İleti#15)  gamisaga » 02 Ağu 2019 14:46

hasan14 yazdı:Sanırım sizde sadece saat yazılı,saat ve tarih yazılı ise örnek dosya


Hocam örneğiniz ve yardımlarınız için teşekkür ederim. Sizin kodunuz iki tarih saat arasındaki saat farkını veriyor. Ben ise Değişken bir saat diliminden 3 saat 2 saat 45dk veya 30 dk gibi çıkarma işlemi yapmak istiyorum.

yani örneğin yapmak istediğim şey

Örneğin Uçağın kalkış Saati 00:20
Yolcunun 3 saat evvel gelmesi için gelmesi gereken zaman 21:20
Son artık kapı kapanması için gereken zaman 23:35

olacak şekilde yapmak istiyorum.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Cevap: Makro da modun karşılığı ne

İleti#16)  gamisaga » 02 Ağu 2019 15:05

ahmetonline yazdı:ilk 100 satır için yaptım ama saati 00:00 yerine 24:00 yazarsan sıkıntı olmuyor.
a hücresindeki saat örnegin 11:00 şekine b hücresindeki saati 3:00 gibi yazman gerekli
Kod: Tümünü seç
Sub SAAT()
For İ = 1 To 100
A = A + 1
B = B + 1
C = C + 1
Selection.NumberFormat = "h:mm"
Cells(A, 3) = Cells(B, 1).Value - Cells(C, 2).Value
Next
End Sub


Bir türlü istediğim şekle uyarlayamadım :( Bu arada ilgi gösterip cevap yazdığınız için teşekkür ederim
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Makro da modun karşılığı ne

İleti#17)  hasan14 » 02 Ağu 2019 15:25

Aşağıdaki uygulamayı deneyiniz.
Kod: Tümünü seç
Sub gece2()
Dim s1 As Worksheet: Dim i As Integer: Dim son As Integer
Set s1 = Sheets("Sayfa1")
son = s1.Cells(65355, "A").End(3).Row
For i = 2 To son
If s1.Cells(i, 2) > s1.Cells(i, 1) Then
saat = (s1.Cells(i, 1) + 1) * 24 - s1.Cells(i, 2) * 24
s1.Cells(i, 3) = WorksheetFunction.Text(saat / 24, "[hh]:mm")
Else
saat = s1.Cells(i, 1) * 24 - 12.Cells(i, 2) * 24
s1.Cells(i, 3) = WorksheetFunction.Text(saat / 24, "[hh]:mm")
End If
Next i
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

Cevap: Cevap: Makro da modun karşılığı ne

İleti#18)  gamisaga » 02 Ağu 2019 18:49

hasan14 yazdı:Aşağıdaki uygulamayı deneyiniz.
Kod: Tümünü seç
Sub gece2()
Dim s1 As Worksheet: Dim i As Integer: Dim son As Integer
Set s1 = Sheets("Sayfa1")
son = s1.Cells(65355, "A").End(3).Row
For i = 2 To son
If s1.Cells(i, 2) > s1.Cells(i, 1) Then
saat = (s1.Cells(i, 1) + 1) * 24 - s1.Cells(i, 2) * 24
s1.Cells(i, 3) = WorksheetFunction.Text(saat / 24, "[hh]:mm")
Else
saat = s1.Cells(i, 1) * 24 - 12.Cells(i, 2) * 24
s1.Cells(i, 3) = WorksheetFunction.Text(saat / 24, "[hh]:mm")
End If
Next i
End Sub


Hocam vermiş olduğunuz bu örneği kendi çalışmama entegre edebildim şuan çalışıyor. Sorunuma yardımcı olmaya çalışan tüm arkadaşlara teşekkür ederim. İlgi ve yardımlarınız için.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak

Cevap: Cevap: Cevap: Makro da modun karşılığı ne

İleti#19)  hasan14 » 02 Ağu 2019 20:47

gamisaga yazdı:
Hocam vermiş olduğunuz bu örneği kendi çalışmama entegre edebildim şuan çalışıyor. Sorunuma yardımcı olmaya çalışan tüm arkadaşlara teşekkür ederim. İlgi ve yardımlarınız için.

Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
Kullanıcı avatarı
hasan14
Siteye Alışmış
 
Kayıt: 28 Ağu 2016 15:26
Meslek: eğitim
Yaş: 58
İleti: 447
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: zonguldak

ÇÖZÜLDÜ: Makro da modun karşılığı ne

İleti#20)  gamisaga » 08 Ağu 2019 22:10

[Çözüldü] olarak işaretlenirse belki yardım arayan arkadaşlar için bir kolaylık olur.
Kullanıcı avatarı
gamisaga
Yeni Başlamış
 
Adı Soyadı:Mustafa Cantürk
Kayıt: 02 Eyl 2011 17:06
Konum: Ev
Meslek: Bagaj kontrol
Yaş: 39
İleti: 57
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun/Bulancak


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

Bumerang - Yazarkafe