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

[µo°Ý] Calculate¡A¯à§_¦^¶Çµo¥ÍÅܰʪºÀx¦s®æªºÄæ¦ì

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-5-2 07:47 ½s¿è

¦^´_ 1# ketrddem
´£¨Ñ°Ñ¦Ò¡G

ThisWorkbook:¡G
  1. Sub Ex()
  2.     [A1] = 10
  3.     [B1] = 8
  4.     [A1] = 6
  5. End Sub
½Æ»s¥N½X
¤u§@ªí1¡G
  1. Private Sub Worksheet_Calculate()
  2.     Dim target As Range
  3.     Set target = Range("C1")

  4.     '  If Not Intersect(target, Range("C1")) Is Nothing Then
  5.     If target.Value = "YES" Then
  6.         '  Run my VBA code
  7.         MsgBox "Worksheet_Calculate is Activvated!"
  8.     End If
  9. End Sub

  10. Private Sub Worksheet_Change(ByVal target As Range)
  11.     '  If Not Intersect(target, Range("C1")) Is Nothing Then
  12.     If target.Address = "$C$1" Then
  13.         '  MyMacro()
  14.         MsgBox "Worksheet_Change = " & target.Address
  15.     End If
  16. End Sub
½Æ»s¥N½X
½Ð¥Î F8 ¨Ó Trace ¨Ó¥J²ÓÆ[¹î  Worksheet_Calculate() ¥H¤Î
Worksheet_Change(ByVal target As Range) ¬O¦p¦ó¹B§@¡A
¥Ø«e {A1:B1] §¡¬O¥H Assign value ¤è¦¡¶i¦æ¡A¦ý¦pªG¥¦­Ì³£¬°
¤½¦¡±a¤J­È¥i¯à Worksheet_Change() ¤£·|¦³°Ê§@¡A¦p [C1]
¤º®e­È¬°¡G =IF(A1>B1, "YES", "NO")  ¤@¼Ë¡C
{A1:B1] §A¥i¥H±a¤J DDE ¤½¦¡ ¨ÓÆ[¹î¸ê®Æ¶×¤J®É¤§°ÊºAª¬ªp¡C

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-5-2 07:48 ½s¿è

¦^´_ 3# ML089
¦n¤[¨S³sô¤F¡A ÁÂÁ«üÃÒ¡A²¨©¿¤F¡C
  1. target.Address = "$A$1" : True : Boolean
  2. target.Address = "A1"   : False : Boolean
½Æ»s¥N½X

TOP

¦^´_ 5# ML089
¤£¦n·N«ä¡A¥X¥h¨ì°êµ|§½³øµ|¡A­è±q¥~ÀY¦^¨Ó¡C

Step 1:
·í [A1] = 10¡A  Excel ¨t²Î·|¥ýIJ°Ê
Worksheet_Calculate() µM«á±µµÛ¦AIJ°Ê
Worksheet_Change(ByVal target As Range)
³o®É target ¬° [A1]¡F
[C1] «h¥Ñ¤½¦¡¦Û°Ê§PÂ_¡A­È¬° "YES"
¨Ã¥¼¦AIJµo¥ô¦ó Trigger¡C

Step 2:
·í [B1] = 8¡AExcel ¨t²Î·|¥ýIJ°Ê
Worksheet_Calculate() µM«á±µµÛ¦AIJ°Ê
Worksheet_Change(ByVal target As Range)
³o®É target ¬° [B1]¡F
[C1] «h¥Ñ¤½¦¡¦Û°Ê§PÂ_¡A­È¬° "YES"
¨Ã¥¼¦AIJµo¥ô¦ó Trigger¡C

Step 3:
·í [A1] = 6¡A  Excel ¨t²Î¥ç·|¥ýIJ°Ê
Worksheet_Calculate() µM«á±µµÛ¦AIJ°Ê
Worksheet_Change(ByVal target As Range)
³o®É target ¬° [A1]¡F
[C1] «h¥Ñ¤½¦¡¦Û°Ê§PÂ_¡A­È¬° "NO"¡A¤]
¨Ã¥¼¦AIJµo¥ô¦ó Trigger¡C

¤½¦¡­ÈªºÅܤơA¹ê»Ú¤W¨Ã¤£·|IJµo¥ô¦óª¾ Trigger
¤º¦b¨Æ¥ó (Event)¡C
°²³] [A1]¡B[B1] ¦p¬° DDE ¶×¤J¤§¤½¦¡¡A¶}½L«á¤§
DDE ¼Æ¾Ú­Èªº¥ô¦óÅܰʳ£¤£·|¥hIJµo Worksheet_Change
¦Ü©ó °w¹ï  [A1]¡B[B1] ¨âÄ檺¼Æ¾ÚÅܰʬO§_·|²o°Ê
Worksheet_Calculate() ¡A¹ê¦³«Ý¹ê°ÈÆ[¹î¡A
¦ý¦p¥t¤@Äæ¦ì³]©w¬° =A1¡B©Î =B1¡A«h¸ÓÄæ¦ì¤§¼Æ¾Ú²§°Ê
·|²o°Ê Worksheet_Calculate() ¡B¥H¤Î Worksheet_Change() ªº¡C

TOP

¦^´_ 7# ketrddem
§A¹ê»Ú¶]¤@¤Uµ{¦¡¡A¬Ý¥¦¨ì©³¹ê»Ú·|IJ°Ê¨º¨Ç¨Æ¥ó¡A«Kª¾¡C
¦pªG¬OIJ°Ê _Change §Y¥i¨³³t±oª¾Ä²°ÊÄæ¦ìªº¦ì§}¡C¦p¶È¶È
¥uIJ°Ê _Calculate ¨º´NÀY¤j¤F¡I

TOP

¦^´_ 8# ketrddem
§A¥i¥H±NÀÉ®×À£ÁY¦¨ .rar À£ÁYÀÉ«K¯à¤W¶Ç¤F¡A
¿ï¥Î°ª¯Å¼Ò¦¡¤ºªºÀɮפW¶Ç (°j¯¾°w)¡C

TOP

¦^´_ 11# ketrddem
§A¨Ï¥Î­þ¤@®a¨é°Ó³nÅé¡H

TOP

¦^´_ 15# ketrddem
RTD ¤£»Ý¥ý¶}±Ò¨é°Ó³nÅé¡A¥¦·|¦Û°Ê³sµ²¡A
³oºØ COM ªº¾÷¨î¤ñ¸û¦n¥Î¡C¥H«e¤]¨Ï¥Î¤¸¤j¡C
§Ú´¿¸g¤]¨Ï¥Î¹L Workbook_Calculate()
¦ý¬O¨s³º¬O­þ­ÓÄæ¦ì¦bIJµo¡AÄæ¦ì¦ì§}¬°¦ó¡A
«ÜÃø´x´¤¡A§A¥i¦³¦nªº Idea ¡H

TOP

¦^´_ 24# ketrddem

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD