2017-08-24 53 views
0

我的工作簿sheet1 A1單元格不斷更新新數據,並且捕獲我的需求並將其保存到sheet2「B」列(新數據將添加到新行像B1,B2,B3等) 使用下面的代碼我使用工作表更改功能是能夠實現它使用Excel VBA將單元格中所有不斷變化的數據捕獲到另一個

Private Sub Worksheet_Change(ByVal Target As Range) 

If Target.Address = Range("A1").Address Then 
     Dim intLastRow As Long 
     intLastRow = Sheet2.Cells(Sheet2.Rows.Count, "B").End(xlUp).Row 
     Sheet2.Cells(intLastRow + 1, "B") = Target.Value 

    End If 

End Sub 

此代碼的工作完美,如果我手工輸入數據到我的原始細胞(Sheet1中A1)。但如果我使用任何公式說「= C2」,它不起作用。利用公式在Sheet2上B.不獲取捕獲這是越來越任何數據更新,想知道是否有反正我可以捕捉價值得到更新使用公式太

+0

使用'worksheet_calculate'事件 –

回答

1
Private Sub Worksheet_Calculate() 

With Sheet2 
    With .Cells(.Rows.Count, "B").End(xlUp) 
     If .Value <> Sheet1.Range("A1").Value Then 
      .Offset(1).Value = Sheet1.Range("A1").Value 
     End If 
    End With 
End With 

End Sub 
+0

如果我想將數據保存在不同的工作簿上,我可以像下面那樣使用它。我將這個代碼添加到目標excel中。如果.Value <> Workbooks(「Book1.xlsx」)。Worksheets(「Sheet1」)。Range(「A1」)。Value Then .Offset(1).Value = Workbooks(「Book1.xlsx」)。Worksheets 「Sheet1」)。範圍(「A1」)。值 End If – acr

+0

爲什麼你不試試並找出答案? – jsotola

+0

我已經試過了,但是它沒有提取數據。尋找語法 – acr

相關問題