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

[µo°Ý] [¨D§U] VBA ¤ñ¹ï«á«ùÄò¬Û´î °ÝÃD

¦^´_ 1# sabery
  1. Sub TEST()
  2. Dim i As Integer
  3. Dim j As Integer
  4.        j = 5
  5.     Do While Sheets("B").Range("A" & j) <> ""
  6.            i = 6
  7.         Do While Range("B" & i) <> ""
  8.             If Range("B" & i) = Sheets("B").Range("A" & j) Then
  9.                 B = Sheets("A").Range("C" & i) + B
  10.                Range("D" & i) = Sheets("B").Range("B" & j) - B
  11.             End If
  12.                 i = i + 1
  13.         Loop
  14.                 B = 0
  15.                 j = j + 1
  16.     Loop
  17. MsgBox " TEST! "
  18. End Sub
½Æ»s¥N½X

TOP

¦^´_ 6# sabery
§c¡I§Ú¤£¬Oª©¤j¡A§Ú¤]¥u¬O­Ó·s¾Ç­û¦Ó¤w¡I:P
¸Õ¸Õ³o­Ó
  1. For Each arng In Range("D6:D" & Cells(Rows.Count, "D").End(xlUp).Row)
  2.     If arng < 0 Then
  3.         With Range(Cells(arng.Row, 1), Cells(arng.Row, Columns.Count).End(xlToLeft).Address).Interior
  4.             .Color = vbRed
  5.         End With
  6.     Else
  7.         With Range(Cells(arng.Row, 1), Cells(arng.Row, Columns.Count).End(xlToLeft).Address).Interior
  8.             .Color = vbWhite
  9.         End With

  10.     End If
  11. Next
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ lpk187 ©ó 2015-4-15 20:26 ½s¿è

¦^´_ 8# sabery

µ{§Ç¤¤±ø¥ó¤£¦P¡A¾ãÅ骺µ{§Ç¤]·|¸òµÛ¤jÅܰʪº¡A¤£¤@©w¬O§A±q¤¤¶¡´¡¤J´N¥i¥H§¹¦¨ªº¡C
­ì¨Óªº¨º­Óµ{§Ç©M§A«e­±ªº±ø¥ó¬Û®t¤Ó¦h¡A©Ò¥H¾ã­Óµ²ºc¤]«ÜÃø¬Û¦P
©Ò¥H§Ú¤S·Q¤F·s¼W±ø¥óªº·sµ²ºc©M¤§«eªº¤£¦P
  1. Sub TEST2()
  2. Dim i As Integer
  3. Sheets("A").Select
  4. i = 6
  5. Do While Range("B" & i) <> ""
  6.     SSS = Range("B" & i) 'Æ[¹îÅܼƥÎ,¥i¥H§R°£³o¦C
  7.     If Range("D" & i) <> "" Then GoTo 100
  8.     Set c = Sheets("B").Columns(1).Find(Range("B" & i), , , , , 2) '´M§ä¬O§_¦b¦s´Ú¤¤¦³±b¤á
  9.     If c Is Nothing Then '¦pªG¨S¦³´N°õ¦æ³o­Óµ{§Ç
  10.         Range("D" & i) = "¤£°÷"
  11.         GoTo 100
  12.     End If
  13.     QQQ = c.Offset(0, 1).Value 'Ū¨ú¤u§@ªí"B"¬Y¤Hªº¦s´Ú
  14.     AAA = QQQ - Range("C" & i) '¬Y¤Hªº¦s´Ú-²Ä¤@¦¸ªá¶O
  15.     Range("D" & i) = AAA
  16.     Set DepRow = Columns(2).Find(Range("B" & i), Range("B" & i), , , , 1) '´M§ä¤U¤@­Ó¬Y¤Hªºªá¶O
  17.     Do While DepRow.Offset(0, 2).Value = "" '¤@ª½´M§ä¬Y¤Hªºªá¶O,ª½¨ì§ä¤£¨ì¬°¤î
  18.         AAA = AAA - DepRow.Offset(0, 1)
  19.         DepRow.Offset(0, 2) = AAA
  20.         Set DepRow = Columns(2).FindNext(DepRow)
  21.         BBB = DepRow.Row 'Æ[¹îÅܼƥÎ,¥i¥H§R°£³o¦C
  22.     Loop
  23. 100: '­«·sÁÙ­ìÅܼƭÈ
  24. AAA = ""
  25. i = i + 1
  26. Set c = Nothing
  27. Loop
  28. MsgBox " TEST! "
  29. End Sub
½Æ»s¥N½X

TOP

¦^´_ 8# sabery


  ¤U­±¬O§Ú°õ¦æªºµ²ªG
B¤u§@ªí
b.png
A¤u§@ªí

TOP

        ÀR«ä¦Û¦b : °µ¦n¨Æ¤£¯à¤Ö§Ú¤@¤H¡A°µÃa¨Æ¤£¯à¦h§Ú¤@¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD