YasserKhalil2019

T4327_Extract Account Statement Between Two Dates Arrays

Nov 26th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. https://excel-egy.com/forum/t4327
  2. ---------------------------------
  3.  
  4. Sub Extract_Account_Statement_Between_Two_Dates_Arrays()
  5. Dim a, ws As Worksheet, sh As Worksheet, lr As Long, i As Long, k As Long
  6.  
  7. Application.ScreenUpdating = False
  8. Set ws = ThisWorkbook.Worksheets("data")
  9. Set sh = ThisWorkbook.Worksheets("كشف حساب")
  10.  
  11. lr = ws.ListObjects(1).ListColumns(2).DataBodyRange.Find(What:="*", SearchDirection:=xlPrevious).Row
  12. a = ws.Range("B5:H" & lr).Value
  13. ReDim b(1 To UBound(a, 1), 1 To 7)
  14. sh.Range("A9:H1020").ClearContents
  15.  
  16. For i = 1 To UBound(a, 1)
  17. If a(i, 1) >= sh.Range("C3").Value And a(i, 1) <= sh.Range("G3").Value And a(i, 2) = sh.Range("E5").Value Then
  18. k = k + 1
  19. b(k, 1) = a(i, 1)
  20. b(k, 2) = a(i, 6)
  21. b(k, 3) = a(i, 7)
  22. b(k, 4) = a(i, 4)
  23. b(k, 5) = a(i, 5)
  24. b(k, 6) = "=IF(B" & k + 8 & "="""","""",IF(SUM($E$9:E" & k + 8 & ")-SUM($F$9:F" & k + 8 & ")>0,SUM($E$9:E" & k + 8 & ")-SUM($F$9:F" & k + 8 & "),0))"
  25. b(k, 7) = "=IF(B" & k + 8 & "="""","""",IF(SUM($F$9:F" & k + 8 & ")-SUM($E$9:E" & k + 8 & ")>0,SUM($F$9:F" & k + 8 & ")-SUM($E$9:E" & k + 8 & "),0))"
  26. End If
  27. Next i
  28.  
  29. If k > 0 Then
  30. With sh
  31. .Range("B9").Resize(k, UBound(b, 2)).Value = b
  32. .Range("G9").Resize(k, 2).Value = .Range("G9").Resize(k, 2).Value
  33. End With
  34. End If
  35. Application.ScreenUpdating = True
  36. End Sub
Add Comment
Please, Sign In to add comment