ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ½Ð°Ý¦p¦ó±N³o¥y+{sum(if......,if......,))}, ¥Î¦bMacro¸Ì­±??

¦^´_ 1# idsmchow
ªì¾ÇªÌVBA
  1. Sub xx()
  2. Set Rng1 = Sheets("Data").Columns("A:C")
  3. Set Rng2 = Sheets("Report").Range("A1:B2")
  4. C = 10
  5. Do Until Sheets("Report").Cells(C, 2) = ""
  6.    If Sheets("Report").Cells(C, 1) = "" Then
  7.       Sheets("Report").Range(Cells(C, 5), Cells(C, 6)) = 0
  8.    End If
  9.    If Sheets("Report").Cells(C, 1) = "Y" Then
  10.       Rng2.Cells(1, 1) = "Code"
  11.       Rng2.Cells(1, 2) = "Type"
  12.       Rng2.Cells(2, 1) = Sheets("Report").Cells(C, 2)
  13.       Rng2.Cells(2, 2) = "A"
  14.       Sheets("Report").Cells(C, 5) = WorksheetFunction.DSum(Rng1, 3, Rng2)
  15.       Rng2.Cells(2, 2) = "B"
  16.       Sheets("Report").Cells(C, 6) = WorksheetFunction.DSum(Rng1, 3, Rng2)
  17.    End If
  18.    C = C + 1
  19. Loop
  20. Rng2.Clear
  21. End Sub
½Æ»s¥N½X
formular.rar (9.23 KB)

TOP

¦^´_ 5# idsmchow
ªì¾ÇªÌVBA
  1. Sub aa()
  2. LastCol = ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column
  3. LastRow = ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row
  4. For C = 2 To LastCol - 1
  5.   X = 1
  6.   For R = 2 To LastRow
  7.       If Cells(R, 1) = "Sub Total" Then
  8.          Cells(R, C) = Application.Sum(Cells(X + 1, C).Resize(R - X - 1, 1))
  9.          X = R
  10.       End If
  11.       Cells(R, LastCol) = Application.Sum(Cells(R, 2).Resize(1, LastCol - 2))
  12.   Next R
  13.   Cells(LastRow, C) = Application.Sum(Cells(2, C).Resize(LastRow - 2, 1)) / 2
  14. Next C
  15. End Sub
½Æ»s¥N½X
budget.rar (7.68 KB)

TOP

¦^´_ 7# idsmchow

Cells(X + 1, C).Resize(R - X - 1, 1)
'¥H«e­±¤§³æ¤¸Àx¦s®æ¬°°ò·Ç,ÂX¤jÀx¦s®æ½d³ò¤§¦C¼Æ»P¦æ¼Æ
'¥HCells(X + 1, C)³æ¤¸Àx¦s®æ¬°°ò·Ç,ÂX¤jÀx¦s®æ½d³ò¬°R - X - 1¦C»P1¦æ

Application.Sum (Cells(X + 1, C).Resize(R - X - 1, 1))
'Àx¦s®æ½d³ò§@¥[Á`

TOP

        ÀR«ä¦Û¦b : ¹D¼w¬O´£ª@¦Û§Úªº©ú¿O¡A¤£¸Ó¬O¨þ¥¸§O¤HªºÃ@¤l¡C
ªð¦^¦Cªí ¤W¤@¥DÃD