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

excel VBA calculate ªººÃ°Ý

¦^´_ 1# shy
  1. Option Explicit
  2. Private Sub Worksheet_Calculate()  '¤u§@ªí­«ºâ¨Æ¥ó
  3.     '¥D°Ê§ïA1(§ï¬°101)ªº­È¤§«á:  A1¨S¦³=¤½¦¡ ¤£·|±Ò°Ê [¤u§@ªí­«ºâ¨Æ¥ó]
  4.     '¦pA1=¤½¦¡   ¤½¦¡ªº­È¦³ÅÜ°Ê ·|±Ò°Ê [¤u§@ªí­«ºâ¨Æ¥ó]
  5.     Application.EnableEvents = False
  6.     'µ{¦¡½X.(­×§ï¨ì¤u§@ªí¤½¦¡°Ñ·Ó¨ìªºÀx¦s®æ)......  '·í¨S¦³ Application.EnableEvents = False'·|¤@ª½°e³æ°e­Ó¤£°±
  7.     'µ{¦¡½X.(­×§ï¨ì¤u§@ªí¤½¦¡°Ñ·Ó¨ìªºÀx¦s®æ)......
  8.     'µ{¦¡½X.......
  9.     Application.EnableEvents = True
  10. End Sub
  11. Private Sub Worksheet_Change(ByVal Target As Range) '¤u§@ªí¤º®e¦³Åܰʨƥó
  12.     '¥D°Ê§ïA1(§ï¬°101)ªº­È¤§«á:  A1¨S¦³=¤½¦¡ ·|±Ò°Ê [¤u§@ªí¤º®e¦³Åܰʨƥó]
  13.     Application.EnableEvents = False
  14.     'µ{¦¡½X..(¦³­×§ï¨ì¤u§@ªíªº¤º®e)....  '·í¨S¦³ Application.EnableEvents = False'·|¤@ª½°e³æ°e­Ó¤£°±
  15.     'µ{¦¡½X..(¦³­×§ï¨ì¤u§@ªíªº¤º®e)....
  16.     'µ{¦¡½X..(¦³­×§ï¨ì¤u§@ªíªº¤º®e)....
  17.     Application.EnableEvents = True
  18. End Sub
½Æ»s¥N½X
  1. EnableEvents ÄÝ©Ê
  2. ½Ð°Ñ¾\®M¥Î¦Ü½d¨Ò¯S©w¦pªG«ü©wª«¥ó¯àIJµo¨Æ¥ó¡A«h¥»Äݩʬ° True¡CŪ/¼g Boolean¡C
  3. ¥»½d¨Ò·|¦bÀx¦sÀɮפ§«e°±¥Î¨Æ¥ó¡A±q¦Ó¨Ï BeforeSave ¨Æ¥ó¤£·|µo¥Í¡C
  4. Application.EnableEvents = False
  5. ActiveWorkbook.Save
  6. Application.EnableEvents = True
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 3# shy
½Ð§A¤W¶ÇÀɮפ~²M·¡°ÝÃDÄpµ²
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 5# shy
2# µ{¦¡¤¤§A­n«ì´_£«
09.    Application.EnableEvents = True
17.    Application.EnableEvents = True

·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 8# shy
¤£¬O ture ¬O TRUE
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-5-9 13:19 ½s¿è

¦^´_ 10# shy
¨S¦³ÀÉ®×¥u¦n¥Î²qªº
Private Sub Worksheet_Calculate()  '¹w³]¤u§@ªíIJ°Ê¨Æ¥ó:   ¤u§@ªí­«ºâ¨Æ¥ó
³oµ{§Ç½X¶·¬O¦b DEE ¤½¦¡©Ò¦b¤u§@ªí¼Ò²Õ¤¤


·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 13# shy
Q:²{¦bÅܦ¨¤£ºÞ¦³¨S¦³²Å¦X±ø¥ó,³£·|¥h°õ¦æµ{¦¡,µM«á³£·|¥X²{ msgBox "SUCDEDEDSUCEEDED"
  1. Private Sub Worksheet_calculate()
  2.     'DEE ¼Æ­È¦³ÅÜ°Ê ·|°õ¦æ¦¹µ{¦¡  ********
  3.     Dim tmpResult As String
  4.     Dim OrderInfo_1 As String
  5.     tmpResult = ""
  6.     OrderInfo_1 = "" ' ¸Ì­±¬O­Ó¸ê, ¤U³æªº³]©w
  7.     tmpResult = PlaceOrderVB(OrderInfo_1)
  8.     '***************
  9.     MsgBox tmpResult  '·íµM³£·|¥X²{ msgBox "SUCDEDEDSUCEEDED"
  10.     '*************************
  11.     Application.EnableEvents = False

  12.     If Range("D4") >= 0 Then  '³o¬O§A»¡ªº ²Å¦X±ø¥ó ¶Ü??
  13.         PlaceOrderVB (OrderInfo_1)
  14.         MsgBox tmpResult  '¦pªG§Aµ{¦¡½X¸m©ó¦¹ ²Å¦X±ø¥ó ¤~·| msgBox "SUCDEDEDSUCEEDED"
  15.     End If
  16.     Application.EnableEvents = ture
  17. End Sub
½Æ»s¥N½X
Q §Ú³o­ÓÀɮ׬O¥~±µDDE,§A¨S¦³§Úªº³nÅé,¨º»ò§Ú§âÀɮפW¶Ç¨ì©³¦³¬Æ»ò·N¸q?

10#  Application.EnableEvents =true  ,ÁÙ¬O¤£·|¦Û¤v°Ê....
10#§Aªº¦^ÂÐ:¹ï§ÚÁÙ¬OÔ|µL±b.....

11# ¨S¦³ÀÉ®×¥u¦n¥Î²qªº
     Private Sub Worksheet_Calculate()  '¹w³]¤u§@ªíIJ°Ê¨Æ¥ó:   ¤u§@ªí­«ºâ¨Æ¥ó
     ³oµ{§Ç½X¶·¬O¦b DEE ¤½¦¡©Ò¦b¤u§@ªí¼Ò²Õ¤¤

½Ð°Ý§Ú11#³o¦^Âйï§A¦³À°§U¶Ü??? ¦p¦³¨º§âÀɮפW¶Ç´N¤£¥²½M¤lºN¶H!!!
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-5-12 18:58 ½s¿è

¦^´_ 16# shy
  1. Private Declare Function PlaceOrderVB Lib "TC_Excel_Addin.xll" (ByVal OrderInfo As String) As String
  2. Option Explicit
  3. Private Sub Worksheet_calculate()
  4.     'Static ³¯­z¦¡  ¦bµ{§Ç¼h¦¸¤¤¥Î¨Ó«Å§iÅܼƨðt¸mÀx¦sªÅ¶¡¡C¥H Static ³¯­z¦¡«Å§iªºÅܼơA¦bµ{¦¡°õ¦æ´Á¶¡¡A·|¤@ª½«O¯d¤º®e¡C
  5.     'Boolean ¸ê®Æ«¬ºA Boolean ÅܼƫY¥H 16 ¦ì¤¸( 2 ­Ó¦ì¤¸²Õ)¼Æ¦rªº§Î¦¡Àx¦s¡A¦ý¥u¯à¬O True ©Î¬O False¡CBoolean Åܼƪº­È¤£¬O True ´N¬O False
  6.     Static Msg(1 To 2) As Boolean      'µ{¦¡¤@¶}©l°õ¦æ®É,¹w³]­È¬° False
  7.     Dim tmpResult As String
  8.     Dim OrderInfo_1 As String
  9.     Application.EnableEvents = False
  10.    
  11.     '**********DEEªº¤º®e¦b³o¸Ì°õ¦æªº¥Î·N....???
  12.     tmpResult = ""
  13.     OrderInfo_1 = "" '¸Ì­±¦³­Ó¸ê,©Ò¥H¨S¦³¿ìªk¤½¶}
  14.     tmpResult = PlaceOrderVB(OrderInfo_1)
  15.     '***************************************
  16.    
  17.     '*********²q²q§Aªº·Qªk: ²Å¦X±ø¥ó¤@¦¸=> ¥u°õ¦æ¤@¦¸
  18.     If Range("D4") >= 0 And Msg(1) = False Then
  19.        '°õ¦æ¤@¦¸«á:  "D4" ¤@ª½¬O >= 0,¤£¦A°õ¦æª½¨ì "D4" < 0 «á¦b¦¸°õ¦æ
  20.         Msg(1) = True      '¤@ª½¬O >= 0
  21.         Msg(2) = False     ' < 0  ¥i°õ¦æ
  22.         
  23.         '********    ½Ð¬Ý¹Ï¥Ü   *********************
  24.         'µ{¦¡°õ¦æ´Á¶¡¡A¤@ª½«O¯d Msg(1) = True
  25.         '°£«D...µ{¦¡­«·s°õ¦æ: µ{¦¡ ¹w³]­È¬° False
  26.         '****************************************
  27.         
  28.         PlaceOrderVB (OrderInfo_1)
  29.         ' MsgBox tmpResult    °õ¦æ¦Û°Ê¤U³æ(¦³¨S¦³¥X²{msgbox¨S¦³Ãö«Y..)
  30.     ElseIf Range("D4") < 0 And Msg(2) = False Then  '²Å¦X±ø¥ó¤@¦¸=> ¥u°õ¦æ¤@¦¸
  31.         '°õ¦æ¤@¦¸«á:  ¦p"D4" ¤@ª½¬O < 0,¤£¦A°õ¦æª½¨ì "D4" >= 0 «á¦b¦¸°õ¦æ
  32.         Msg(1) = False   '>= 0 ¥i°õ¦æ
  33.         Msg(2) = True    '¤@ª½¬O < 0
  34.         PlaceOrderVB (OrderInfo_1)
  35.         ' MsgBox tmpResult    °õ¦æ¦Û°Ê¤U³æ(¦³¨S¦³¥X²{msgbox¨S¦³Ãö«Y..)
  36.     End If
  37.     Application.EnableEvents = True
  38. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-5-12 19:28 ½s¿è

¦^´_ 18# shy
   Q: ´N¬O¤£ºÞRange("D4") ¬O¤£¬O>=0 ³£·|¦Û°Ê°e³æ
¬O§Úµ{¦¡¨S¼g¦n
17# 30.    ElseIf Range("D4") > 0 And Msg(2) = False Then  '²Å¦X±ø¥ó¤@¦¸=> ¥u°õ¦æ¤@¦¸
    ¶·§ï¬°   ElseIf Range("D4") < 0 And Msg(2) = False Then  
Q:§A¦³»Ý­n»¡©ú®Ñ¶Ü?
   ¥hÂsÄý¤@¤U¼gªº«Ü²M·¡:  ¨Ï¥ÎExcel¦¬¨ú©e°U¦^³ø,¨Ï¥ÎExcel¬d¸ß±b°È ¨â¸`  ¤£¬O§A°Ýªº°ÝÃD¶Ü!!!

¦^´_ 22# shy
¥u­n¤u§@ªí¤¤ªºÀx¦s®æ¦³¤½¦¡:¨Ò =A1+C1,¥B³o¤u§@ªí¼Ò²Õ¦³Sub Worksheet_Calculate()µ{§Ç
Àɮ׶}±Ò«á,¨C¤@¤u§@ªíªº Sub Worksheet_Calculate()µ{§Ç,³£·|°õ¦æ¤@¦¸
  1. Private Sub Worksheet_Calculate() '¬¡­¶Ã¯¤¤¨C¤@¤u§@ªíªº­«ºâ¨Æ¥ó¤¤
  2.     Stop  '½Ð¥[¤W«á¦sÀÉ,¦A¶}ÀÉ®×
  3.    '***µ{¦¡°õ¦æ¨ì¦¹ ¥i«ö F8 ¤@¦æ,¤@¦æ..ªº°õ¦æµ{¦¡½X¸Õ¸Õ¬Ý.********
  4.    'µ{¦¡½X....
  5.     'µ{¦¡½X....
  6.     'µ{¦¡½X....
  7.     'µ{¦¡½X....

  8. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 26# shy
°ò¥»·§©À:¤u§@ªí¤WªºDEE¤½¦¡Åܰʤ@¦¸,°õ¦æSub Worksheet_Calculate() ¤@¦¸.

Q ¦ý¬OEXCELÁÙ¬O¤@ª½¦b°õ¦æ              ->ªÑ¥«Àç·~¤¤ : ¤u§@ªí¤WªºDEE¤½¦¡·|¦³Åܰʹï¶Ü?

Q ¦ý¤§«á²z½×¤WÀ³¸Ó¤£·|¦A°õ¦æ°e³æ¤F      ->¤u§@ªí¤WªºDEE¤½¦¡¦³¤@­Ó¥H¤W¹ï¶Ü?

Q ¶¡¹j20¬í·|¬OEXCELªº°ÝÃD¶Ü?              ->ªÑ¥«Àç·~¤¤,·|¨C¬í¨C¤À³£¦³¥æ©ö¶Ü?
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 28# shy
°ò¥»·§©À:¤u§@ªí¤Wªº¤½¦¡¶Ç¦^ªº¼Æ­ÈÅܰʤ@¦¸,°õ¦æSub Worksheet_Calculate() ¤@¦¸.
§A»¡¤u§@ªí¤WªºDDE¤½¦¡¤£·|¦³ÅÜ°Ê: ¬O¤½¦¡¨SÅÜ°Ê,¥B¤½¦¡¶Ç¦^ªº¼Æ­È¤]³£¤£ÅܶÜ? (¨ºªÑ¥«¦bÀç·~®É¶¡¤¤¦³¦b¥æ©ö¶Ü?)
§A»¡¤u§@ªí¤W¨C­ÓÀx¦s®æ³£¥u¦³¹ïÀ³¤@­ÓDDE¤½¦¡? ¨º³o¤u§@ªí¤W¤£¬O¦³³\¦hÀx¦s®æ¦³¤½¦¡¶Ü?(¤£¥u¤@­Ó¤½¦¡¹ï¶Ü)

17# ªºµ{¦¡½X¤w­×¥¿¦n,¦A¸Õ¤@¦¸¬Ý¬Ý
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¬°¦Û¤v§äÂǤfªº¤H¥Ã»·¤£·|¶i¨B¡C
ªð¦^¦Cªí ¤W¤@¥DÃD