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

[µo°Ý] ¦¹¥¨¶°¬°¦ó¿ù??

¦^´_ 29# t8899
±à...
­Y¬O·|¦³¤p¼Æ¥X²{ªº¼Æ­È,
¨º´N­n§â CLng(  ¥Î CSng( ¨Ó¨ú¥N´N¥i¥H¤F.

TOP

¦^´_ 43# t8899
  1. Sub nn()
  2. Dim i%
  3. Dim lRows As Long

  4. With Sheets("sheet2")
  5.   lRows = .Cells(Rows.Count, 1).End(xlUp).Row
  6.   .Cells(lRows + 1, 1) = Sheets("Sheet3").Cells(i + 1, 2).Value
  7.   '.
  8.   '.
  9.   '.
  10. End With
  11. End Sub
½Æ»s¥N½X

TOP

¦^´_ 46# t8899
¦]¬°º¦¶^¨âÃä³£­n°õ¦æ,
©Ò¥H·|¥[¨â¦æ :
  1.   Dim sStr$
  2.   Dim ZZ As Range
  3.   
  4.   sStr = ""
  5.   sStr2 = ""
  6.   For Each ZZ In Range("c2:c111")
  7.     If Not IsError(ZZ) Then
  8.       If Range("Q26").Value = 1 And flag = True Then
  9.         M = Round(ZZ - ZZ.Offset(, 26), 2)
  10.         If M >= ZZ.Offset(, 2) Then
  11.           If sStr <> "" Then sStr = sStr & Chr(10)
  12.           sStr = sStr & "" & Cells(ZZ.Row, 2).Value & "=====> " _
  13.                  & Round(ZZ - ZZ.Offset(, 26), 2)
  14.           ZZ.Offset(, 26) = ZZ ' <======= ¥[¦b³o¸Ì
  15.         End If
  16.         If M <= -ZZ.Offset(, 2) Then
  17.           If sStr2 <> "" Then sStr2 = sStr2 & Chr(10)
  18.           sStr2 = sStr2 & "" & Cells(ZZ.Row, 2).Value & "=====> " _
  19.                    & Round(ZZ - ZZ.Offset(, 26), 2)
  20.           ZZ.Offset(, 26) = ZZ ' <======= ¥[¦b³o¸Ì
  21.         End If
  22.       End If
  23.     End If
  24.   Next
  25.   If sStr <> "" Then
  26.     CreateObject("Wscript.shell").Popup sStr, 4, "Auto Closed MsgBox", 64
  27.   End If
  28.   If sStr2 <> "" Then
  29.     CreateObject("Wscript.shell").Popup sStr2, 4, "Auto Closed MsgBox", 64
  30.   End If
½Æ»s¥N½X
¥t¥~,«Øij§A¥i¥H°Ñ¦ÒÃþ¦ü¤W­±³o¼Ë¦³°µÁY±Æ³B²zªºµ{¦¡½s¼g²ßºD,
¥u»Ý¥ý§ä¨ì°Ï¶ôªº¬Y¤@Ãä,
ª½±µ«ö¤W©Î¤UÁä´N¯à½T»{°Ï¶ôªº½d³ò,
³o¼Ë­n§ä°ÝÃD©Î¬O¤Á¤JÂI·|¤ñ¸û®e©ö,
¤]¤ñ¸û¤£®e©ö¦]¬°­n§ä¤@¨Ç¯ÊªF¯Ê¦èªº°ÝÃD¦Ó®ö¶O¼gµ{¦¡ªº®É¶¡.

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2013-8-17 09:14 ½s¿è
ZZ.Offset(, 26) ====>¥i§_ª½±µ§ï¦¨ACÄ檺»yªk??
t8899 µoªí©ó 2013-8-16 18:47
°T®§µLªk¤@¦¸¥X²{???·|¤@°¦¤@°¦¥X²{??
t8899 µoªí©ó 2013-8-15 22:07

¨º¬O¦]¬°¶] ZZ.Offset(, 26) = ZZ ³o¤@¦æ«ü¥O®É¤S·|IJµo Calculate ¨Æ¥ó,
¾É­P¤S¦A¤@¦¸¶i¤J¤F  Worksheet_Calculate ¨ç¦¡.
¥u­n¦b°õ¦æ¦¹¦æ«ü¥O®É§âIJµo¥\¯à¼È®É¸T¯à§Y¥i :
±N¨â­Ó
  ZZ.Offset(, 26) = ZZ
³£§ï¦¨
Application.EnableEvents = False
  ZZ.Offset(, 26) = ZZ
Application.EnableEvents = True
§Y¥i

ZZ.Offset(, 26) ====>¥i§_ª½±µ§ï¦¨ACÄ檺»yªk??
t8899 µoªí©ó 2013-8-16 18:47

Range.Offset «ü¥O¬O¶Ç¦^ :
¥H¸ÓRange¬°°ò·Ç,
¦ì²¾Offset¥k¤è¬A©·¤º©Ò«ü©wªº¦C¼Æ»PÄæ¼Æ«áªºÀx¦s®æ¦ì§}.

¦¹¨ç¦¡¶Ç¦^ªº¬O­Ó "¬Û¹ï" ¦ì¸m,
¦ÛµM´N¤£¯à¥ÎACÄ檺»yªk°Õ.

ZZ.Offset(, 26)
´Nµ¥©ó
Range(ZZ.Row, ZZ.Column + 26)

­Y°í«ù­n§ï¦¨ACÄæ»yªk«j±j¥i¥H§ï¬°
Range("AC" & CStr(ZZ.Row))
¦]¬°¦C¸¹¬O¶·­n°Ñ¦ÒZZ¦Ó°µÅܰʪº,
¦Ó­Y¤é«á§Aªº ZZ §ï¦¨¤£¦b "C" Äæ®É,
¤W¦¡¶Ç¦^ªº¦ì§}´N¤S¤£¥¿½T¤F.

TOP

¥¨¶°¸Ìªº¤½¦¡¡A¦n¹³¤£·|¸òµÛ¤u§@ªíÅÜ°Ê°Ñ·Ó??
¨Ò¦p If Range("Q2").Value = 1
§Ú¦bPÄæ´¡¤J¤@Äæ¡A¥¨¶°¤£ ...
t8899 µoªí©ó 2013-8-18 09:11

¥¨¶°ùتºµ{¦¡¤ùÂ_»PÀx¦s®æ¥»¨Ó´N¤£¬O¸j¦b¤@°_¦Ó¬O¦U¦Û¿W¥ßªº,
Range("Q2") ¥Ã»·´N¬O«ü Q2 ³o­ÓÀx¦s®æ,
¦Ó¦b¨ä¥kÃ䪺 .Offset(xx,yy) ¤]¥u¯à¹ïÀ³¨ì°ß¤@¤@­ÓÀx¦s®æ,
¦Ó¤W¦C¨â­ÓÀx¦s®æ¨Ã¤£·|¦]¬°§A¦b¨ä«e¤è´¡¤JÄæ¦C¦Ó¸òµÛÅÜ°Ê.

­Y»Ý­n¬ÛÀ³ªº¸òµÛÀx¦s®æ°µÅÜ°Ê,
¤ñ¸û¥i¦æªº¤èªk§Ú¯à·Q¨ìªº¦³¨âºØ:
1. ¦b¬Y­ÓÀx¦s®æ¤º¤U¤½¦¡¥h°Ñ·Ó¨ì¼ÐªºÀx¦s®æ,¦Ó Excel VBA µ{¦¡«h³z¹L°Ñ·Ó¦ì§}°µ³B²z.(«e´£¬O¤£½×«ç»ò´¡¤JÄæ¦C,³£¤£¯àÅܰʨì°Ñ·ÓÀx¦s®æªº¦ì¸m)
¥iÂÇ¥Ñ Range(Mid(Cells(3,1).Formula,2)).Row ¨ú±o¦C¸¹
¥iÂÇ¥Ñ Range(Mid(Cells(3,1).Formula,2)).Column  ¨ú±oÄ渹.

2. ¹ï¼ÐªºÀx¦s®æ©w¸q¦WºÙ,¦Ó Excel VBA µ{¦¡«h³z¹L¸Ó¦WºÙªº¦ì§}°µ³B²z.
¨Ò¦p:
** ©w¸q¦WºÙ¬° Work °Ñ·Ó¨ì =Sheet1!$A$4
¦b With ActiveWorkbook.Names("Work")  »P End With ¤§¶¡:
¥i¥Î .Value §ì¨ì =Sheet1!$A$4 µ¥¤å¦r,
¦A¥Î Range( Mid(.Value, InStr(1, .Value, "!") + 1)).Row ¥i§ì¨ì¦C¸¹.
Range( Mid(.Value, InStr(1, .Value, "!") + 1)).Column ¥i§ì¨ìÄ渹.

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2013-8-22 23:58 ½s¿è
1.¤§«eªº°ÝÃD¡A¸g¦A´ú¸ÕµLªk¦Û°ÊÃö±¼°T®§µ¡
¬O¦]¬°¶]¤U­±ªºµ{¦¡,¤£ª¾¦³µL¿ìªk§ïµ½?
¦n¹³¥u­n¦³¦b¶]ti ...
t8899 µoªí©ó 2013-8-22 04:35

1. ³o§Ú¤]¤£ª¾¹D,¤£¹L¾Ú§Ú©Òª¾ Excel VBA ²¦³º¤£¬O³æ¯Âªº VB ¨t²Î,
¦b¬Y¨Ç±¡§Î¤UÁÙ¬O·|µo¥Í¬Y¨Ç§Ú­Ìı±o¤£¤Ó¯à²z¸Ñªºª¬ªp.

³Ì²³æªº¨Ò¤l¬O­Y¬Y®É¶¡¦³¶}¤F¨â­Ó Excel ÀÉ®×,¨ä¤¤¤@­Ó¦³ Excel VBA µ{¦¡ªºÀÉ®×,
¦³¥i¯à·|¤zÂZ¨ì¥t¤@­Ó¨S¦³ VBA µ{¦¡Àɮתº½s¿è§@·~.(¤×¨ä¬O Worksheet_Change »P Worksheet_SelectionChange µ{§Ç³Ì©öµo¥Í¦¹ª¬ªp)

¨Ì§Aªº±Ô­z¬Ý°_¨Ó,
¥¦¥i¯à¤£¯à¦P®É°õ¦æ¤Ó¦hªº Application.OnTime µ{¦¡.(ºÃ¦ü·|¦³¬Û¤¬¤zÂZªº±¡§Î¥X²{)

·íµM³o­Ó´N¬O«Ü¤º³¡ªºªF¦è¤F,
·í Excel VBA ¨C©I¥s¤@¦¸ Application.OnTime µ{¦¡,
¬O§_´N·|°t¸m¤@­Óµ{§ÇªÅ¶¡¨Ó¦s©ñ¸Óµ{¦¡¹B§@¤¤ªºÅܼÆ,
ª½¨ì¸Óµ{¦¡µ²§ô¤~ÄÀ©ñ±¼¸ÓªÅ¶¡?
¥ç©Î¬O¥u­n¬O°õ¦æ¸Óµ{¦¡,
´N³£¬O¨Ï¥Î¦P¤@­Óµ{§ÇªÅ¶¡¸ÌªºÅܼƩO?
­Y¬O«áªÌ¨º¥X²{§A»¡ªº±¡§ÎÀ³¸Ó´N¤£·N¥~¤F.

¦Ó­Y¯u­n¬O³o­Ó°ÝÃD¤]¬O¦³¤èªk¸Ñ¨Mªº°Õ,
¥u­n "¨C­Ó" ©I¥sªºµ{¦¡³£¤£¦P´N¤£·|¤¬¬Û¤zÂZ¤F,
¥ç§Y­n½T«O¦P¤@®É¶¡¦b¶]ªº OnTime µ{¦¡³£¬O¦b¤£¦Pµ{¦¡°Ï¶ô¤¤§Y¥i.
¥i¤£¥i¦æ§Ú¤£ª¾¹D§A¥i¥H¸Õ¸Õ¬Ý.

2. »P¤W¤èªº©w¸q¤º®e¤@¤@¤ñ¹ï§Y¥iª¾¹D¿ù»~¥X¦b­þ¸Ì¤F:
§Aªº©I¥sµ{¦¡¬° :

MsgBoxTest 0, "", "", sStr, 0, 2500

¦Ó¨ä©w¸q«h¬° :
Private Declare Function MsgBoxTest Lib "user32" Alias "MessageBoxTimeoutA" ( _
    ByVal hwnd As Long, _                 <=== ¤W­±ªº 0 ,   OK
    ByVal lpText As String, _              <=== ¤W­±ªº "",   OK
    ByVal lpCaption As String, _          <=== ¤W­±ªº "",   OK
    ByVal wType As VbMsgBoxStyle, _ <=== ¤W­±ªº sStr, ¿ù»~¥X¦b¦¹
   ByVal wlange As Long, _              <=== ¤W­±ªº 0,    OK
    ByVal dwTimeout As Long _          <=== ¤W­±ªº 2500, OK
                           ) As Long

¦Ü©ó VbMsgBoxStyle?
¦b http://www.codeproject.com/Articles/7914/MessageBoxTimeout-API
¤W¬Ý¨ì : uiFlags = MB_YESNO|MB_SETFOREGROUND|MB_SYSTEMMODAL|MB_ICONINFORMATION
¥B
http://www.pinvoke.net/default.aspx/user32/MessageBoxTimeout.html?diff=y
¤W¬Ý¨ì¸Ó°Ñ¼Æ¥i©w¸q¬° ByVal MessageBoxOptions As Long
©Ò¥H¦Ü¤Ö¨ºÀ³¸Ó¬O­Ó¼Æ¦r¦Ó«D¤å¦r¤~¬O,
¦Ó¦b http://baike.baidu.com/view/5079352.htm
³o¸Ì¦³¸Ô²Ó»¡©ú¦U­Ó¼Æ­Èªº©w¸q.

¦Ü©ó sStr «hÀ³©ñ¦b lpText As String ¤W.

ºî¤W§A¥i¥H¸Õ¸Õ :

MsgBoxTest 0, sStr, "´£¥Ü°T®§", 0, 0, 2500

3. FindWindow ­n¥ýª¾¹D¸Óµøµ¡ªº handle ©Î¬O ¨¬¸ê¿ëÃѸӵøµ¡ªº¸ê®Æ¤~¯à§ä¨ì¸Óµøµ¡,
³o­Ó§Ú­n¦A¬d¬d¬Ý¬O§_¦³¥i¯à¸Ñ¨M.

TOP

ÁÂÁ¤w¸g¸Ñ¨M
MsgBoxTest ·|¦Û°ÊÃö³¬µøµ¡,À³¸Ó¬OMsgBoxTest¿W¥ß¦b¶]
¦³¨â­Ó¤p¯ÊÂI
1¦³®É´£¥Ü®ÉµLªk¦b³Ì«e´º??
2´£¥Ü®É¡A·|¥X²{º|¤æª¬¡A¨S¿ìªk°µ¨ä¥L¨Æ±¡¡A¦ý¨S®t¡A¥u¦³´X¬í¦Ó¤w
t8899 µoªí©ó 2013-8-23 09:13

1. ¥»¨Ó­Y§A¥Îªº¬O MsgBox ¨ç¼Æ, «h¦b MsgBox ¨ç¼Æ ªº»¡©ú¤¤¦³¼g¨ì :
»yªk
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
buttons ¤Þ¼Æªº³]©w¦³¥H¤U´X­Ó¡G
¨ä¤¤¦³ :
VbMsgBoxSetForeground 65536 «ü©w°T®§¤è¶ôµøµ¡§@¬°«e´ºµøµ¡¡C
¥ç§Y§Aµ{¦¡¥u­n¦b ²Ä¤G­Ó°Ñ¼Æ¥[¤W + VbMsgBoxSetForeground §Y¥iÅý¦¹°T®§Åã¥Ü¦b³Ì¤W¼h.
¦ý¦p¤µ§A¥Îªº¬O¥t¤@­ÓWindows API¨ç¼Æ,
³o­Ó¨ç¼Æ§Ú§ä¤£¨ì­þ¸Ì¦³¸û¸Ô²Óªº»¡©ú,
©Ò¥H´N»Ý­n§A¦Û¤v´ú¸Õ¬Ý¬Ý¸Ó¨ç¼Æ¬O§_¦³³o­Ó¥\¯à¤F.

2. ¦P¤W,³o­Ó°ÝÃD§Ú¤]¤£ª¾¹D¦p¦ó³B²z.

TOP

p.s. (65536 µLªk©ñ¦bVbMsgBoxSetForeground «á­±¡A»yªk¿ù»~)
t8899 µoªí©ó 2013-8-27 06:14

65536 ©ñ¦b VbMsgBoxSetForeground «á­±?
·íµM·|µo¥Í¿ù»~°Õ.

»¡©ú¤¤ªº¤º¤å¬O :

             ±`¼Æ                       ­È                       »¡©ú
====================================================
VbMsgBoxSetForeground      65536     «ü©w°T®§¤è¶ôµøµ¡§@¬°«e´ºµøµ¡¡C

¥¦ªº·N«ä¬O»¡ :
¦b Excel VBA ¤¤, ¤w¸g¦³©w¸q¤F VbMsgBoxSetForeground ³o­Ó±`¼Æªº­È¬° 65536,
§A¦b MsgBox ¨ç¼Æªº buttons ¤Þ¼Æªº¦ì¸m¤W,
¥i¥H¨Ï¥Î VbMsgBoxSetForeground ³o­Ó±`¼Æ ©Î¬O¥Î 65536 ³o­Ó­È(¥ô¨ú¨ä¤¤¤§¤@),
¨Ó³]©w³o¦¸¨Ï¥Î MsgBox ¨ç¼Æ «ü©w¨ä °T®§¤è¶ôµøµ¡ §@¬°«e´ºµøµ¡.

§A¤]¥i¥H°Ñ¦Ò MsgBox ªº½d¨Ò±oª¾¨ä¨Ï¥Î¤è¦¡:
Style = vbYesNo + vbCritical + vbDefaultButton2    ' ©w¸q«ö¶s¡C
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
°Ñ·Ó½d¨Ò¥i±o¥X§A¥i¥H¨Ï¥Î :
MsgBox sStr, vbYesNo + VbMsgBoxSetForeground , "´£¥Ü°T®§"
©Î¬O
MsgBox sStr, 4 + 65536 , "´£¥Ü°T®§" (¥ª¦¡¤]µ¥¦P MsgBox sStr, 65540 , "´£¥Ü°T®§")
¤W¨â¦¡ªºµ²ªG¬O¬Û¦Pªº.

¤£¹L MsgBox ¨ç¼Æ¥i¥H¨Ï¥Îªº±`¼Æ¤£¤@©w´N¾A¥Î MsgBoxTest (¦b Windows API ¤¤¥¦¨ä¹êÀ³¸Ó¬O MessageBoxTimeoutA),
³o­n¬Ý¦b Windows API »P Excel VBA ¤¤,
MessageBoxTimeoutA ¨ç¼Æ¬O§_¦³¹ê°µ¥X¸Ó¤Þ¼Æ¬° VbMsgBoxSetForeground ­È®É©ÒÀ³¸Ó¥X²{ªº®ÄªG,
³Ì²³æªº¤èªk´N¬O®M¥Î¶iµ{¦¡¤¤,
µM«á¹ê»Ú¶]¶]¬Ý´Nª¾¹D¦³¨S¦³¦¹¥\¯à¤F.

TOP

Sub eighty()
         ...
Range("B2:N2").Select   '=====>¬°¦ó¦h¥[¦¹¦æ¡A³y¦¨¤W­±ªº°õ¦æ¤£¥¿½T,®³±¼«h¥¿½T????
t8899 µoªí©ó 2013-8-28 06:49

³o¦æ¬O§Ú¥[ªº¶Ü?
§Ú¨S¦³¦L¶H¦³¥[³o¦æ°Ú?

²{¦b§Ú¤w¸g«Ü¤Ö¥Î Select «ü¥O¤F,
°£«D½T¦³¨ä¥²­n©Ê,(¨Ò¦p»Ý­n¥Î¨ì Selection °µ«ü¥O¥DÅé, ©Î¬O»Ý­nÅܧóExcelÀÉ®×µJÂI¨ì¥t¤@­Ó¥DÅé¤W)
§_«h³o¦æ°£¤F®ö¶O¨t²Î¸ê·½¥~,
¨Ã¨S¦³¤°»ò¨ä¥L¦n³B,
«Ü¦h±¡§Î¤U¨ä¹ê¬O®Ú¥»¤£»Ý¥Î¨ì Select «ü¥O´N¥i¥H¹F¨ì§Ú­Ìªº¥Øªº.

¤£¹L³o­Ó«ü¥O¦b Debug µ{¦¡®É­Ë¬Oº¡¦n¥Îªº,
¨Ò¦p·Q Copy ®É,
¥i¥H¥ý¤£¯uªº Copy ¦Ó¥i¥H¨Ï¥Î F8  ³æ¨B¼Ò¦¡°lÂÜ,
°õ¦æ Copy «e¥ý¦b§Y®Éµøµ¡¥Î Select ¨Ó½T»{±ý¹B§@ªº¼Ðªº¬O§_¥¿½T.

¦]¬°§Aªº Sample Àɤ£¯à§PÂ_¸Ó¦æ¥Î³B¦b­þ¤Î®³±¼¬O§_·|¥X°ÝÃD,
©Ò¥H§A¥u¯à¦Û¦æ´ú¸Õ©Î§PÂ_,
§A­Y¬O½T©w¥[¤F¸Ó«ü¥O¹ïµ{¦¡µ²ªG¨S¤°»ò¥Î³Bªº¸Ü,
¨º´N°®¯Üª½±µ§R±¼¸Ó¦æ§a. (§A¤]¥i¥H¥ý¦b¸Ó¦æ«e­±¥[­Ó  '   §â¥¦Åܦ¨µù¸Ñ¤å¦r, ¸Ó¦æ´N¤£·|°õ¦æ¤F, ¤Ï¤§´N¤S·|°õ¦æ¤F)

TOP

        ÀR«ä¦Û¦b : °ß¨ä´L­«¦Û¤vªº¤H¡A¤~§ó«i©óÁY¤p¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD