Maas cizelgesi

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,351
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Ben makro ile çözüm öneriyorum.

Kod:
Public Function Gelinmeyenler() As String
    Dim arr() As String
    
    For i = 7 To Application.Caller.Column - 2 Step 3
    
        If Cells(Application.Caller.Row, i) = 0 Then
        
            s = s + 1
            
            ReDim Preserve arr(1 To s)
            
            arr(s) = Cells(1, i)
            
        End If
        
    Next
    
    Gelinmeyenler = Join(arr, ",")
End Function
Dosya : http://dosya.web.tr/Nxzaxw

 

Ekli dosyalar

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
Alternatif,

C, D, E sütunları kod ile yazdırılmakta, CV sütunu gelmedikleri günleri listeleyen çalışma.

Kod:
Option Explicit
Sub deneme()
Dim a(), b(), c()
Dim say As Long, i As Long, y As Long
Dim gun As Double, msi As Double, pr As Double, gelmedi As String
a = Range("G1:CU" & Cells(Rows.Count, 2).End(3).Row)
On Error Resume Next
ReDim b(1 To UBound(a), 1 To 3)
ReDim c(1 To UBound(a), 1 To 1)
For i = 2 To UBound(a)
    say = say + 1
    For y = 1 To UBound(a, 2) Step 3
        If a(i, y) <> "" Then gun = gun + a(i, y)
        If a(i, y + 2) <> "" Then msi = msi + a(i, y + 2)
        If a(i, y + 1) <> "" Then pr = pr + a(i, y + 1)
        If a(i, y) = 0 And a(i, y) <> "" Then gelmedi = gelmedi & " " & a(1, y) & ","
    Next y
        b(say, 1) = gun
        b(say, 2) = msi
        b(say, 3) = pr
        c(say, 1) = Left(gelmedi, Len(gelmedi) - 1)
    gun = 0
    msi = 0
    pr = 0
    gelmedi = ""
Next i
Application.ScreenUpdating = False
Range("C2:E" & Rows.Count).ClearContents
Range("CV2:CVC" & Rows.Count).ClearContents
[C2].Resize(say, 3) = b
[CV2].Resize(say) = c
[CV2].Resize(say).NumberFormat = "@"
Application.ScreenUpdating = True
MsgBox "İşlem tamam...", vbInformation
End Sub
Kodu sayfalarda düğme yada butona atayınız.

http://dosya.web.tr/NjJP77
 

Ekli dosyalar

Üst