2017-08-24 13 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

相关问题