Rapor çıkarmak istiyorum

Katılım
6 Aralık 2007
Mesajlar
16
Excel Vers. ve Dili
excel 2003 ingilizce
Selamlar,
Aranıza yeni katıldım. Exceli çok iyi bilmiyorum fakat öğrenmem gerekiyor. Şimdi ise bir iş çıktı ve bunu bir türlü beceremedim. sizden yardım istiyorum.
Ekteki dosyada 3 tane kolon var benim yapmak istediğim hem A kolununda 00532 ile başlayacak hemde b kolonunda 700 ile başlayanların C kolonundaki sürelerini bana toplayacak bir formül veya makro istiyorum. Yani A ve B kolonlarının şartlara uyan satırlarının tüm C kolaonlarındaki süreleri bana toplayacak.

Asıl dosyam 20 mb bir text file ordan rapor çıkarmam gerekiyor...
Biraz acil şimdiden çok teşekürler.

Dosyayı ekleyemem diye aşağıda ypıştırıyorum ne olu ne olmaz


00532441454 700014 01:12
021542144 700012 03:15
005325454 700001 04:14
05454878 420015 01:12
0005487840 870012 03:15
00532441454 700014 04:14
021542144 700012 01:12
005325454 700001 03:15
05454878 420015 04:14
0005487840 870012 01:12
00532441454 700014 03:15
021542144 700012 04:14
005325454 700001 01:12
05454878 420015 03:15
0005487840 870012 04:14
00532441454 700014 01:12
021542144 700012 03:15
005325454 700001 04:14
05454878 420015 01:12
0005487840 870012 03:15
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Selamlar,
Aranıza yeni katıldım.

Hoş geldiniz.

Zaman hesabında gün (24 saat) sorunuyla karşılaştım. Aşağıdaki kodu dikkate almayınız.
Kod:
Sub topla()
...
 
If Left(Cells(a, "a"), 5) = "00532" And Left(Cells(a, "b"), 3) = "700" Then sure = TimeValue(CDate(sure)) + TimeValue((CDate(Cells(a, "c"))))
...
End Sub
 
Son düzenleme:

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Zaman olarak aldığımızda 24 saati geçen durumlarda sorun yaratabileceği düşüncesiyle yukarıda verdiğim kodları kaldırdım. Bu saatte ancak bu kadar yapabildim. İnşallah işinize yarar.

Kod:
Sub topla()
sure1 = 0
sure2 = 0
For a = 1 To [a65536].End(3).Row
If Left(Cells(a, "a"), 5) = "00532" And Left(Cells(a, "b"), 3) = "700" Then
sure1 = sure1 + Mid(Format(Cells(a, "c"), "hh.mm.nn"), 4, 2)
sure2 = sure2 + Format(Cells(a, "c"), "hh") * 1
End If
Next
artık = sure1 / 60
artık = Int(artık)
sure1 = sure1 - (artık * 60)
sure2 = sure2 + artık
MsgBox sure2 & " saat " & sure1 & " dakika"
End Sub
 
Katılım
6 Aralık 2007
Mesajlar
16
Excel Vers. ve Dili
excel 2003 ingilizce
Mesleki arkadaşım sana çok çok teşekür ediyorum. şöyle bir şey var benim form biraz değişti ben biraz daha açıklamam yapayım ekteki dosyada bazı değişiklikler oldu mesela süre kısmı değişti saat olarakta raporu alabiliyorum diğerinde hata vardı. Şimdi istediğim D kolonunda 0054 ile başlayacak ayrıca G kolonundada 880 ile başlayanların F kolonunu ve Sürelerini (H kolonu saat dakika saniye olarak ) toplayacak. Bulduğu değerleride M kolonuna alt alt yazabilir.
 
Üst