返回列表 上一主題 發帖

[發問] 請問如何將變動的數值在另一頁紀錄?(請幫忙修改,謝謝)

回復 1# Brandy
這行錯了
Sheets("History").Rows("2:2").PasteSpecial PasteValues
應是
Sheets("History").Rows("2:2").PasteSpecial xlPasteValues

或改成這樣
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Address(0, 0) = "A2" Then     '判斷當A2有變動時
  3.         Sheets("Monitor").Rows("2:2").Copy
  4.         Sheets("History").Rows("2:2").Insert Shift:=xlDown
  5.         Application.CutCopyMode = False
  6.     End If
  7. End Sub
複製代碼

TOP

回復 6# Brandy
我是不曉得券商RTD是怎麼工作的
本來想回答:
If Target.Row = 2 Or Target.Row = 3 Then
但是其實這還要看你變動的儲存格是怎麼給值的 , 以及你觸發的需求
如 [A1:C2] 一個一個Cell給值跟範圍給值(如[A1:C2]=Array(1, 2, 3, 4, 5, 6)) ,
它觸發Worksheet_Change的次數不一樣 ,
當然Target也不一樣 (可能單格或多格)
比較保守的方法是利用Intersect判斷比較不會漏掉 , 如:
If Not Application.Intersect(Range("2:3"), Target) Is Nothing Then
但還是老話 , 要看實際使用時的觸發需求

TOP

        靜思自在 : 自己害自己,莫過於亂發脾氣。
返回列表 上一主題