• DİKKAT

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

Puantaj girişinde aynı günlere denk gelen verileri aktarma.

Katılım
24 Temmuz 2019
Mesajlar
484
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
İyi geceler diliyorum.
Ekteki dosyada anlatmaya çalıştım. SV sayfasında haftanın günlerine dağıtılmış sayıları AS sayfasındaki aylık günlere aktaracak kod mümkün müdür?
 

Ekli dosyalar

Makroyla değil de formülle olsa.
D9 hücresine yapıştırın. Sağa ve aşağı doğru formülleri kopyalayabilirsin.
=EĞER(D7="";"";DÜŞEYARA($B9;SV!$B$2:$J$100;2+KAÇINCI(D$7;SV!$D$1:$J$1;0)))
 
Makroyla değil de formülle olsa.
D9 hücresine yapıştırın. Sağa ve aşağı doğru formülleri kopyalayabilirsin.
=EĞER(D7="";"";DÜŞEYARA($B9;SV!$B$2:$J$100;2+KAÇINCI(D$7;SV!$D$1:$J$1;0)))
Değerli @NextLevel üstadım çok iyisiniz. Yardımınız için çok teşekkür ederim. Lakin Bu formülü VBA kodu olarak istirham etsem fazla mı olur? Zira buraya devamsızlık işleme vb bazı diğer detaylar girince sürekli formülü bozmak durumunda kalmamak adına...
Teşekkürler.
 
İlk mesajınızdaki userform üzerinde mi çalışacak makro?
Yoksa bu formülün direkt VBA karşılığı mı?
 
Evet Hocam. UserForm üzerinde bulunan LisrBox1 ve ListBox2 seçimine göre CommandButtona yazılacak @NextLevel
 
Liste kutusundan seçilmeyen günlerdeki mevcut değerler silinecek mi?
 
Bunu hiç düşünmemiştim ama çok daha güzel olur. Hatta Bu öğretmen için de geçerli olabilir. Harika bir fikir. @NextLevel
 
UserForm kod sayfasındaki mevcyt kodları silin ve aşağıdakini yapıştırın.
C++:
Private Sub CommandButton1_Click()
    Range("D9:AH" & ListBox1.ListCount + 9).ClearContents
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            For k = 0 To ListBox2.ListCount - 1
                If ListBox2.Selected(k) Then
                    For x = 4 To 34
                        If Weekday(Cells(8, x), 2) - 1 = k Then Cells(i + 9, x) = Worksheets("SV").Cells(i + 2, k + 4)
                    Next x
                End If
            Next k
        End If
    Next i
End Sub

Private Sub UserForm_Initialize()
    ListBox1.RowSource = "AS!B9:B10" '& [AS!V65536].End(3).Row
    ListBox2.RowSource = "SV!V3:V" & [SV!V65536].End(3).Row
End Sub
 
@NextLevel üstadım. Tam da istediğim gibi oldu. Ne kadar teşekkür etsem azdır. Emeğinize, elinize, zihninize sağlık. Varolun
 
Sayın @NextLevel üstadım. Ekteki dosyada bulunan çalışmadaki (tarih aralığı giriş kodu hariç) kodu siz yazmıştınız. Ancak ortaya çıkan yeni koşullardan dolayı dosyada belli ölçüde revizyon ihtiyacı hasıl oldu. Açıklamayı userform üzerinde anlatmaya gayret ettim. Yardımınızı istirham ediyorum.
 

Ekli dosyalar

Sayın @NextLevel yine mükemmel bir iş çıkartmışsınız. Çok teşekkür ederim. Anlatmak istediğim buydu. Var olun emeğinize zihninize sağlık.
 
Geri
Üst