試試看!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, LastR As Integer, sh3 As Object
Set sh3 = Sheets("Sheet3")
Set Rng = [C13] '設定 [C13] 為 Worksheet_Change觸動範圍
LastR = sh3.[A65536].End(xlUp).Row + 1 '取得 欄A最下面非空白格的下一格 的列號
If Not Intersect(Target, Rng) Is Nothing And Rng.Value > 50 Then
[A17].Resize(1, 4).Select
[A17].Resize(1, 4).Copy sh3.Cells(LastR, 1)
End If
End Sub
yen956 發表於 2017-2-18 12:33
回復 peter95
Private Sub Worksheet_Calculate()
Dim Rng As Range, LastR As Integer, sh3 As Object
Set sh3 = Sheets("Sheet3")
LastR = sh3.[A65536].End(xlUp).Row + 1 '取得 "Sheet3" 欄A最下面非空白格的下一格 的列號
If [C13] > 50 Then
[A17].Resize(1, 4).Copy
sh3.Cells(LastR, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
yen956 發表於 2017-2-20 18:25
抱歉, E-mail 我不會, 可另發文請教其他大大,
每2分鐘則可借用 Hsieh版大的 onTime, 如下:
Worksheet_C ...
yen956 發表於 2017-2-22 20:06
每2分鐘則可借用 Hsieh版大的 onTime, 如下:
Worksheet_Calculate 刪除, 改用 Hsieh版大的 onTime
請放在 Module
http://forum.twbts.com/thread-19283-1-2.html
'從早上8點到下午5點每2分鐘執行 "Copy_test" 1次
Sub OnTime_test()
Dim t
For t = TimeValue("08:00:00") To TimeValue("17:00:00") Step TimeValue("00:02:00")
Application.OnTime t, "Copy_test"
Next
End Sub
Sub Copy_TEST()
Dim LastR As Integer, sh2 As Object, sh3 As Object
Set sh2 = Sheets("Sheet2")
Set sh3 = Sheets("Sheet3")
LastR = sh3.[A65536].End(xlUp).Row + 1 '取得 "Sheet3" 欄A最下面非空白格的下一格 的列號
If sh2.[C13] > 50 Then
sh2.[A17].Resize(1, 4).Copy
sh3.Cells(LastR, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
yen956 發表於 2017-2-22 20:06
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/) |