• Merhaba Dostlar,
    yeni forum ile yola devam ediyoruz. Bu büyüklükte bir forum yeni bir sisteme taşımak epey bir yordu bizi. Üstelik bir de yeni XenForo Forum altyapısına geçtik.
    Eminim çok yerde hatalar ve eksikler vardır. Kısa sürede toparlayıp hızlı bir şekilde yolumuza devam edeceğiz.
    Lütfen gördüğünüz eksik ve hataları aşağıdaki bölüme dönderin. Sırasıyla inceleyip yapılabilirliği varsa üzerinde çalışacağım.
    HATA BİLDİRİM BAŞLIĞI
    Forumdaki kullanıcı adınızla ile giriş yapamıyorsanız kullanıcı adınızın sonuna 1 veya 2 gibi rakamlar ekleyerek deneyin.

    Hepimize Hayırlı Olsun!
    Hüseyin
ALTIN ÜYELİK Hakkında Bilgi
-----------------------

Excel 3 Ayrı sütündaki saat bilgisiyle rapordaki sütünları otomatik toplama

Katılım
15 Aralık 2011
Mesajlar
17
Beğeniler
0
Excel Vers. ve Dili
2016 Ingilizce
#1
Merhaba Arkadaşlar,

Elimde 100 kişilik excel personel listesi var, ve bu excelde 3 ayrı sütünda personel saat dilimleri var, sistemden csv raporu çekiyorum ve her seferinde bu 3 ayrı sütünu exceldeki personel listesindeki saat bilgisiyle rapordaki saat dilimini manul toplayıp toplamını yazıyorum bunun için makro hazırlamam konusunda yardımcı olursanız çok sevinirim. şimdiden teşekkürler.
 
Katılım
8 Mart 2011
Mesajlar
10,734
Beğeniler
59
Excel Vers. ve Dili
Office 2013 TÜRKÇE
#5
Rapor isimli sayfa için, formül ile çözüm önerisi isterseniz;
-- aşağıdaki formülü örneğin E2 hücresine uygulayın,
-- formülü sağa ve aşağı doğru kopyalayın.
Ans Sayfa isimli sayfada da DÜŞEYARA işlevini kullanarak bu formül sonuçlarını isime göre çağırtabilirsiniz.
=0+(EĞER(EHATALIYSA(SOLDAN(B2;BUL("h";B2)-1));"0";SOLDAN(B2;BUL("h";B2)-1))&":"&YERİNEKOY(EĞER(EHATALIYSA(PARÇAAL(B2;MAK(BUL("m";B2)-2;1);2));"0";PARÇAAL(B2;MAK(BUL("m";B2)-2;1);2));"m";"")&":"&EĞER(EHATALIYSA(PARÇAAL(B2;BUL("s";B2)-2;2));"0";PARÇAAL(B2;BUL("s";B2)-2;2)))
 

çıtır

Altın Üye
Altın Üye
Katılım
6 Mart 2005
Mesajlar
2,326
Beğeniler
56
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
#9
Bir vba kodlarınız deneyiniz.
Kod:
Sub saat()
Dim s1 As Worksheet: Dim s2 As Worksheet
Dim y As Integer: Dim i As Integer
Set s1 = Sheets("Ans Sayfa")
Set s2 = Sheets("Rapor")
Application.ScreenUpdating = False
Range("B2" & ":" & "D" & s1.Cells(65336, "D").End(3).Row).ClearContents
For y = 2 To 4
For a = 2 To s2.Range("A65500").End(3).Row
    met = s2.Cells(a, y).Text
    For b = 1 To Len(met)
        If IsNumeric(Mid(met, b, 1)) Then
            mety = mety & Mid(met, b, 1)
        Else
            mety = mety & " "
        End If
    Next
    s1.Cells(a, y).Value = WorksheetFunction.Trim(mety)
    mety = ""
s1.Cells(a, y).Value = WorksheetFunction.Substitute(s1.Cells(a, y), " ", ":")
Next
Next y
Application.ScreenUpdating = True
MsgBox "İŞLEM TAMAMLANDI", vbInformation, "BİLGİ"
End Sub
 
Son düzenleme:

çıtır

Altın Üye
Altın Üye
Katılım
6 Mart 2005
Mesajlar
2,326
Beğeniler
56
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
#11
İngilizçesi nasıl bilmiyorum.Türkçe için tarif ediyorum. Geliştirici sekmesinden Visual Basic tıklayınız.Açılan menüden ınsert tıklaynız ve Module tıklayınız.Sağdaki boş alana kodu kopyalayınız.Ans sayfasında Geliştirici ekleden bir buton ekleyiniz ve kodu atayınız.Sayfa adı ilk önce ana sayfa olarak görmüştüm Ans sayfa imiş değiştirdim.Son kodu kopyalayınız.
 
Son düzenleme:
Katılım
8 Mart 2011
Mesajlar
10,734
Beğeniler
59
Excel Vers. ve Dili
Office 2013 TÜRKÇE
#12
Merhaba. Sayın çıtır'ın müsadeleriyle.
Yanlış görmüyorsam; sayın çıtır'ın verdiği kod, hücrede hem saat, hem dakika, hem de saniye varsa doğru sonuç veriyor.
İsterseniz bir de aşağıdaki kod'u deneyin.
Kod:
KOD 16 NUMARALI CEVAPTA
 
Son düzenleme:
Katılım
15 Aralık 2011
Mesajlar
17
Beğeniler
0
Excel Vers. ve Dili
2016 Ingilizce
#13
Birde şunu belirtmeyi unutmuşum sanırım Ana sayfa sheetinde A sütünundaki isim listesiyle Rapor Sheetindeki A sütünundaki isim sıralaması karışık olacak o sebeple bu işlemi karşılaştırma yaparak yapabilirmiyiz. Rapordaki isim Ana Sayfada yoksa ana sayfaya yazmasın Rapor sayfasında o kullanıcıyı yazamadığını belirten mesela kırmızı renk yapabilirmi. (yada Rapor sayfasındakileri ana sayfaya yazdığında rapor sayfasından silebilirmi)
 
Katılım
8 Mart 2011
Mesajlar
10,734
Beğeniler
59
Excel Vers. ve Dili
Office 2013 TÜRKÇE
#14
Benim verdiğim kod, Rapor sayfasındaki isim Ans Sayfada yoksa karşısını boş bırakıyor zaten.
Liste karışık olsa da ilgili satıra yazıyor.

Bu arada verdiğim kod'un başlıktan sonraki ilk satırında yer alan Set.... şeklindeki kısımda sayfa adlarını kontrol edin.
 
Katılım
15 Aralık 2011
Mesajlar
17
Beğeniler
0
Excel Vers. ve Dili
2016 Ingilizce
#15
Evet farkettim az önce çok teşekkür ederim son birşey rica edeceğim Rapor sayfasından ana sayfaya yazdığı kullanıcıları rapor sayfasından silebilirmi yeni eklenen kullanıcıları farkedebilmek için.
 
Katılım
8 Mart 2011
Mesajlar
10,734
Beğeniler
59
Excel Vers. ve Dili
Office 2013 TÜRKÇE
#16
Tekrar merhaba.

Aşağıdaki kod daha kısa ve aynı işlemi yapar.
Ayrıca Rapor sayfasında, saat verileri aktarılan kişilerin satırında E sütununa X yazar.
Böylece Rapor sayfasındaki hangi satırların Ana Sayfaya aktarıldığını anlamış olursunuz.
Rapor sayfasında E sütunu boş olanlar Ana Sayfaya aktarılmadı demektir.
NOT: Kod güncellendi, 14.08.2018 19:03
Rich (BB code):
Sub VPN_RAPOR()
Set ana = Sheets("Ana Sayfa"): Set r = Sheets("Rapor")
rson = r.Cells(Rows.Count, 1).End(3).Row
ason = ana.Cells(Rows.Count, 1).End(3).Row
ana.Range("E2:F" & rson).ClearContents
ana.Range("E2:F" & rson).NumberFormat = "[hh]:mm:ss"
On Error Resume Next
For sat = 2 To rson
    For sut = 2 To 3
        sa = 0: dk = 0: sn = 0
        For sp = 0 To 2
            deg = Right(Split(r.Cells(sat, sut), " ")(sp), 1)
            If deg = "h" Then sa = Replace(Split(r.Cells(sat, sut), " ")(sp), deg, "")
            If deg = "m" Then dk = Replace(Split(r.Cells(sat, sut), " ")(sp), deg, "")
            If deg = "s" Then sn = Replace(Split(r.Cells(sat, sut), " ")(sp), deg, "")
        Next
        isim = Split(r.Cells(sat, 1), "\")(1)
        If WorksheetFunction.CountIf(ana.[D:D], isim) > 0 Then
            asat = WorksheetFunction.Match(isim, ana.Range("D2:D" & ason), 0) + 1
            ana.Cells(asat, sut + 3) = ana.Cells(asat, sut + 3) + TimeValue(sa & ":" & dk & ":" & sn)
            r.Range("A" & sat & ":C" & sat).Interior.Color = vbGreen
        Else
            r.Range("A" & sat & ":C" & sat).Interior.Color = vbRed
        End If
10: Next: Next: ana.Columns("A:Q").AutoFit
MsgBox "İşlem tamamlandı."
End Sub
 
Son düzenleme:
Katılım
15 Aralık 2011
Mesajlar
17
Beğeniler
0
Excel Vers. ve Dili
2016 Ingilizce
#17
Ömer BARAN çok teşekkür ederim ellerinize sağlık daha ne olsun :)
çıtır çok teşekkür ederim, ellerinize sağlık
Hücre ve satır değiştiğinde kodda nereleri değiştirmem gerekiyor acaba
 
Katılım
8 Mart 2011
Mesajlar
10,734
Beğeniler
59
Excel Vers. ve Dili
Office 2013 TÜRKÇE
#19
İşte tam da bu nedenle; soruların gerçek belgeyle aynı yapıda örnek belge üzerinden sorulmasını istemekteyiz.
.
 
Katılım
15 Aralık 2011
Mesajlar
17
Beğeniler
0
Excel Vers. ve Dili
2016 Ingilizce
#20
AYNI YAPIDA DOSYA LINKI
Merhaba haklısınız sanırım, linkteki dosyada yine Rapor sayfasından alması gerekiyor Ana sayfadaki E ve F sütünuna gelmesi gerekiyor datanın kullanıcı adı bilgisiyle karşılaştırıp birde Rapor dosyasındaki kullanıcı adlarında domain bilgisi yazıyor domain ismini sabitleyip karşılaştırabilirmiyiz.
 
Üst