- Katılım
- 15 Mart 2005
- Mesajlar
- 43,004
- Excel Vers. ve Dili
- Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.
Kod:
Sub Toplamları_Güncelle()
Dim Alan As Range, X As Long, Son As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
On Error Resume Next
Set Alan = Range("D4:D" & Rows.Count).SpecialCells(xlCellTypeConstants, 16)
On Error GoTo 0
If Not Alan Is Nothing Then
Alan.ClearContents
End If
On Error Resume Next
Set Alan = Range("D4:D" & Rows.Count).SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not Alan Is Nothing Then
Alan.ClearContents
End If
Son = Cells(Rows.Count, "B").End(3).Row
For X = 4 To Son
Select Case Len(Cells(X, 1))
Case 1
Cells(X, "D") = Evaluate("=SUMPRODUCT((LEFT(A" & X + 1 & ":A" & Son & "&""0""" & ",1)*1=A" & X & ")*(LEN(A" & X + 1 & ":A" & Son & ")=3),(D" & X + 1 & ":D" & Son & "))")
Case 2
Cells(X, "D") = Evaluate("=SUMPRODUCT((LEFT(A" & X + 1 & ":A" & Son & "&""0""" & ",2)*1=A" & X & ")*(LEN(A" & X + 1 & ":A" & Son & ")=3),(D" & X + 1 & ":D" & Son & "))")
End Select
If Cells(X, 2) = "AKTİF TOPLAM" Then
Cells(X, "D") = Evaluate("=SUMPRODUCT((LEN(A4:A" & Son - 1 & ")=1)*(D4:D" & Son - 1 & "))")
End If
Next
On Error Resume Next
Set Alan = Range("I4:I" & Rows.Count).SpecialCells(xlCellTypeConstants, 16)
On Error GoTo 0
If Not Alan Is Nothing Then
Alan.ClearContents
End If
On Error Resume Next
Set Alan = Range("I4:I" & Rows.Count).SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not Alan Is Nothing Then
Alan.ClearContents
End If
Son = Cells(Rows.Count, "G").End(3).Row
For X = 4 To Son
Select Case Len(Cells(X, 6))
Case 1
Cells(X, "I") = Evaluate("=SUMPRODUCT((LEFT(F" & X + 1 & ":F" & Son & "&""0""" & ",1)*1=F" & X & ")*(LEN(F" & X + 1 & ":F" & Son & ")=3),(I" & X + 1 & ":I" & Son & "))")
Case 2
Cells(X, "I") = Evaluate("=SUMPRODUCT((LEFT(F" & X + 1 & ":F" & Son & "&""0""" & ",2)*1=F" & X & ")*(LEN(F" & X + 1 & ":F" & Son & ")=3),(I" & X + 1 & ":I" & Son & "))")
End Select
If Cells(X, 7) = "PASİF TOPLAM" Then
Cells(X, "I") = Evaluate("=SUMPRODUCT((LEN(F4:F" & Son - 1 & ")=1)*(I4:I" & Son - 1 & "))")
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub