Àx¦s¤£·|¦Û°Ê°±¤î¡A¸Ó«ç»ò§ï¡H
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¥»©«³Ì«á¥Ñ stillfish00 ©ó 2013-8-6 11:35 ½s¿è
¦^´_ 3# ahsiek
¸ß°Ýªº°ÝÃD¦p¤U¡G
1. AA(¤u§@ªí)¶}©l«áµLªk¦Û°Ê°±¤î¡A§Ú³]©w¦bROW33«á´N°±¤îÀx¦s
µ²ªG¡A¦bROW33¬O°±¤F¡A¦ý¥¦´N¶]¨ìROW2¡B3¡A´N¦b¨º¸ÌÄ~Äò§@°Ê§@¡C
³o¬O§Úþ¸Ì¼g¿ù¤F¶Ü¡H
º¥ý§A¥Î³o¨ú³Ì«á¤@¦æªº¦æ¸¹
endCol = ¤u§@ªí29.Cells(33, 1).End(xlUp).Row
End(xlUp)¬Û·í©ó«ö END+¦V¤WÁä¡A·íA1~A33³£¦³È®É¡A³o¦æ¨ú¨ìªº¬O1
¦A¨Ó§A¥Î
If ActiveCell.Row > 33 Then End '¨îÁ`¦C¼Æ
If ActiveCell.Column = 30 Then End '¤¤³~¤¤¤î
¦ý¬Oµ{¦¡¤¤¹ê»ÚActiveCell«o¤@ª½¬O©T©w¦P¤@®æ¡A·íµM¤£·|²×¤î
¦Ó¥B¤Á´«¤u§@ªíActiveCell¤]·|ÅÜ...........
2. BB(¤u§@ªí)¤]¬O¦p¦¹¡A³o¨âÓ¤u§@ªíªº¿ý»s¬O¤@¼Ëªº¡C©Ò¥H¤]¬O¤£·|¦Û°Ê°±¤U¨Ó¡C
3. AA(¤u§@ªí)¡A¤@¥¹«ö¤U¶}©l°Ê§@¡AY§Ú¦A¥hBB(¤u§@ªí)«ö¤U¥ô·NÁä¡A«hAA(¤u§@ªí)©MBB(¤u§@ªí)³£¤£·|°Ê¤F¡C
4. AA(¤u§@ªí)¡AY«ö¤U²×¤îÁä¡Aµ²ªG³sBB(¤u§@ªí)¤]¸òµÛ¤£·|°Ê¤F¡C
°ò¥»¤W§Ú·|«¼g¦p¤U¡A§A¥i¥H°Ñ¦Ò¬Ý¬Ý¡G
- Private gbStop1 As Boolean
- Private gbStop2 As Boolean
- Sub ButtonStart1() 'AA¤u§@ªí¶}©l«ö¶s
- gbStop1 = False
- With ActiveSheet
- .UsedRange.Offset(3).ClearContents
- SetTimer1 .Name
- End With
- End Sub
- Sub ButtonStop1() 'AA¤u§@ªí°±¤î«ö¶s
- gbStop1 = True
- End Sub
- Sub ButtonStart2() 'BB¤u§@ªí¶}©l«ö¶s
- gbStop2 = False
- With ActiveSheet
- .UsedRange.Offset(3).ClearContents
- SetTimer2 .Name
- End With
- End Sub
- Sub ButtonStop2() 'BB¤u§@ªí°±¤î«ö¶s
- gbStop2 = True
- End Sub
- '±N¤£¦Pªíªº±Æµ{³¡¤À/¨î¦æ¼Æ/¤ÀÂ÷¥X¨Ó
- Sub SetTimer1(sSheetName As String)
- Const MAX_ROW = 34
- '¥¼¹F¨î¦æ¼Æ¥B¨S«ö°±¤î¶s«h±Æµ{1¬í«á¦A«×°õ¦æ
- If mainFunc(sSheetName) < MAX_ROW And Not gbStop1 Then Application.OnTime Now + TimeValue("00:00:01"), "'SetTimer1 """ & sSheetName & """'"
- End Sub
- Sub SetTimer2(sSheetName As String)
- Const MAX_ROW = 270
- If mainFunc(sSheetName) < MAX_ROW And Not gbStop2 Then Application.OnTime Now + TimeValue("00:00:01"), "'SetTimer2 """ & sSheetName & """'"
- End Sub
- Function mainFunc(sSheetName As String) As Long
- Dim i As Long
-
- With Sheets(sSheetName)
- i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
- '...°O¿ýlog
- .Cells(i, "A") = Format(Time, "Hh:Mm:Ss")
- .Cells(i, "J").Resize(, 8).Value = .Cells(3, "B").Resize(, 8).Value
- End With
-
- mainFunc = i '¦^¶Ç·í«e¦C¼Æ
- End Function
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 9# ahsiek
¨ºSetTimer2¤¤§ï¬° If mainFunc2(sSheetName)
¥t·s¼W:- Function mainFunc2(sSheetName As String) As Long
- Dim i As Long
-
- With Sheets(sSheetName)
- i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
- '...°O¿ýlog
- .Cells(i, "A") = Format(Time, "Hh:Mm:Ss")
- .Cells(i, "E").Resize(, 3).Value = .Cells(3, "B").Resize(, 3).Value
- End With
-
- mainFunc2 = i '¦^¶Ç·í«e¦C¼Æ
- End Function
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 13# ahsiek
©êºp¤F¡A§Ú¤]¤£¾å±oDDE¬O§_·|/¦p¦ó¼vÅT©Î¨ú®øExcelªº³¡¤À¥\¯à¡A
¤]¦³¥i¯à¬O»PExcelÀ³¥Îµ{¦¡¸ê·½¤À°t°ÝÃD¡A³o¤è±¨S¦³¬ã¨s¹L¡A
¤âÃä¤]¨S¬ÛÃö¤u¨ã¥i´ú¸Õ¡A³o°ÝÃD¥i¯àn½Ð±Ð¨ä¥Lª©¤Í¬O§_¯à¸Ñ´b¤F¡C
¦ý¤@¯ë±`¨£ªº¬OÂǥѤu§@ªíªºCalculate¨Æ¥ó¨Ó°O¿ýDDEªºÈ¡Aª©¤W¤]¦³Ãþ¦ü°Q½×¥i°Ñ¦Ò¬Ý¬Ý¡C |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 16# ahsiek
§Ú«Ü½T©wF3 & G3ªº®æ¤l³£¬O¦³¼ÆÈªº¡A¦ÓL4 & M4¬O½Æ»sF3& G3ªº¼ÆÈ¡A¬°¤°»òÁÙ·|¥X²{#DIV/0!©O¡H
§Ú¤]ı±o¤£·|¦³³o±¡§Î¡A§A¬O¦p¦ó½T©w"·í¤U"ªºF3 & G3ªº®æ¤l³£¬O¦³¼ÆÈªº?- Y¯uªº¬O¦]¬°F3&G3ªº¤½¦¡¡A¦Ó¾ÉPL4&M4¥X²{#DIV/0!ªº¸Ü¡A¦³¤°»ò¤èªk¥i¥HÅýL4&M4³æ¯ÂÀx¦s¼ÆÈ´N¦n©O¡H
½Æ»s¥N½X ¤Ï¹L¨Ó°Ý¡AYF3&G3´N¬O#DIV/0!¡A§AnL4&M4Àx¦s¤°»ò¼ÆÈ? |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 22# ahsiek
¦]¬°ì¥»code¤¤stopªº¾÷¨î¡A¤£¬O¥ß§Y°±¤îªº¡A¦Ó¬O¤U¦¸±Æµ{ªº®É¶¡¨ì¤F¤~¥h§PÂ_¨ì¸ÓÅܼơA¤£Åý¥¦¦³¦A¤U¤@¦¸ªº±Æµ{¡C
©Ò¥H쥻³]1¬í¡A¥un«ö°±¤î«áªº¤@¬í¤º¤£¦A«·s¶}©l´N¤£·|¦³°ÝÃD¡A¦Ó²{¦b®É¶¡©Ôªøªº¸Ü´N¦³°ÝÃD¤F¡C¡C¡C
¥i¥H°Ñ¦Ò×§ï¦p¤U¬Ý¬Ý¡AmainFunc() ¤£ÅÜ¡G- Private gNextRunTime1 As Date
- Private gbIsRunning1 As Boolean
- Sub ButtonStart1() '¤u§@ªí¶}©l«ö¶s
- '¨¾¤î¦h¦¸±Ò°Ê
- If gbIsRunning1 = True Then
- If MsgBox("¤w¦³¦s¦bªº±Æµ{:" & gNextRunTime1 & "¡A¬O§_¨ú®ø¸Ó±Æµ{¡A«·s¬ö¿ý?", vbOKCancel) = vbOK Then
- ButtonStop1
- Else
- Exit Sub
- End If
- End If
-
- With ActiveSheet
- .Range("A4:G270").ClearContents
- gbIsRunning1 = True
- SetTimer1 .Name
- End With
- End Sub
- Sub ButtonStop1() '¤u§@ªí°±¤î«ö¶s
- gbIsRunning1 = False
-
- On Error Resume Next
- '¨ú®ø¤U¦¸°õ¦æ®É¶¡
- Application.OnTime gNextRunTime1, "'SetTimer1 """ & ActiveSheet.Name & """'", , False
- On Error GoTo 0
- End Sub
- Sub SetTimer1(sSheetName As String)
- Const MAX_ROW = 270
-
- gNextRunTime1 = Now + TimeValue("00:00:10")
- Application.OnTime gNextRunTime1, "'SetTimer1 """ & sSheetName & """'"
-
- If mainFunc(sSheetName) >= MAX_ROW Then ButtonStop1 '°õ¦æ¨Ã¦^¶Çrow
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 27# ahsiek
®Ú¾ÚApplication.OnTime ¡A¨ä°Ñ¼ÆLatestTime ªº»¡©ú¡G- LatestTime ¿ï¥Î Variant
- ¥i¥H¶}©l°õ¦æµ{§Çªº³Ì±ß®É¶¡¡C¨Ò¦p¡A°²³] LatestTime ³]¬° EarliestTime + 30¡A·í®É¶¡¨ì¤F EarliestTime ®É¡A¦pªG¥Ñ©ó¨ä¥Lµ{§Ç¥¿¦b°õ¦æ¤¤¦Ó¨Ï Microsoft Excel ¤£³B©ó [´Nºü]¡B[½Æ»s]¡B[°Å¤U] ©Î [´M§ä] ¼Ò¦¡¡A«h Microsoft Excel ·|µ¥«Ý 30 ¬í¥H§¹¦¨²Ä¤@Óµ{§Ç¡C¦pªG 30 ¬í¤º Microsoft Excel µLªk¦^¨ì [´Nºü] ¼Ò¦¡¡A«h¤£·|°õ¦æ¦¹µ{§Ç¡C¦pªG¬Ù²¤¦¹¤Þ¼Æ¡AMicrosoft Excel ·|¤@ª½µ¥¨ì¥i¥H°õ¦æ¸Óµ{§Ç¬°¤î¡C
½Æ»s¥N½X ¥Ñ©ó¬Ù²¤¦¹¤Þ¼Æ¡AMicrosoft Excel ·|¤@ª½µ¥¨ì¥i¥H°õ¦æ¸Óµ{§Ç¬°¤î¡C
¤]³\¬O³o¼Ë¾ÉP§A¬ö¿ý®É¶¡ªº°Ê§@©µ«á¡A¦Ó¦³§A»¡ªº"º|¤F´X¬í"ªºµ²ªG¡A³o¥i¯à¨S¿ìªk¸Ñ¨M¡C¡C¡C
¦ý§Ú·|«ØÄ³§A¸Õ¸Õ¬Ý¡A¬ö¿ýªº¥¨¶°¥Î¤@ÓExcelÀ³¥Îµ{¦¡±`¾n¡A¦pªG¦³¨ä¥LExcel ¤u§@»Ýn³B²zªº¸Ü¡A
¥t¥~¶}¤@ÓExcelÀ³¥Îµ{¦¡(±q¶}©l¥\¯àªí©Î±¶®|¶}±Òexcel¡A¤£nª½±µÂùÀ»excelÀɮסA
¨Ï¤u§@ºÞ²zû¥i¬Ý¨£¨âÓExcel.exe³B²zµ{§Ç)¡A¤]³\¯àÁ×§K¸ê·½½Ä¬ð°ÝÃD¡C |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 29# ahsiek
³o¼Ë§Ú´NµL¯à¬°¤O¤F¡C¡C¡C |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 32# ahsiek
×§ï¤@¤U23¼Ó ButtonStop1 ©M SetTimer1
Sub ButtonStop1(Optional sSheetName As String) '¤u§@ªí°±¤î«ö¶s
gbIsRunning1 = False
On Error Resume Next
'¨ú®ø¤U¦¸°õ¦æ®É¶¡
Application.OnTime gNextRunTime1, "'SetTimer1 """ & IIf(sSheetName <> "", sSheetName, ActiveSheet.Name) & """'", , False
On Error GoTo 0
End Sub
Sub SetTimer1(sSheetName As String)
Const MAX_ROW = 270
gNextRunTime1 = Now + TimeValue("00:00:10")
Application.OnTime gNextRunTime1, "'SetTimer1 """ & sSheetName & """'"
If mainFunc(sSheetName) >= MAX_ROW Then ButtonStop1 sSheetName '°õ¦æ¨Ã¦^¶Çrow
End Sub |
|
|
|
|
|
|
- ©«¤l
- 1018
- ¥DÃD
- 15
- ºëµØ
- 0
- ¿n¤À
- 1058
- ÂI¦W
- 0
- §@·~¨t²Î
- win7 32bit
- ³nÅ骩¥»
- Office 2016 64-bit
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ®ç¶é
- µù¥U®É¶¡
- 2012-5-9
- ³Ì«áµn¿ý
- 2022-9-28
|
¦^´_ 34# ahsiek
´N¹³¬õ¦r¼Ðªº¦a¤è¡Aק蠟«e¨Ï¥ÎActiveSheet.Name
¬O·í«e¤u§@ªí¦WºÙ¡A¦]¬°ButtonStop1³Q©I¥s®É¥i¯à¦b§Oªºsheet
¡A§ï¦¨«ü©wªº¤u§@ªí¦Ó¤w |
|
|
|
|
|
|