EXCEL,VBA当表1的A1单元格值发生变动时,表2则另起3列记录数据,如何用VBA表达?急求

表1的A1单元格输入数据时,表2则在a1格记录数据,如果表1A1数据变动时,则表2另起三列来记录A1的值。每次数据变动都得另起三列。

第1个回答  2016-08-06
通过selectionchange 和change的配合可以做到,selectionchange事件中记录原来值,change事件中判断当前的值是否与原来值一致,不一致就记录,代码不是不给你,授人以鱼不如授人以渔追问

这个我知道,人说好人做到底,送佛送到西,代码一并附上呗,别说你不会,财富值可以追加到100

追答

代码放SHEET1

 

Dim r, v

Private Sub Worksheet_Change(ByVal Target As Range)

 If Target.Value2 = t Then Exit Sub
 If Target.Column > 1 Then Exit Sub
 If Target.Cells.Count <> 1 Then Exit Sub
 
If Sheet2.Cells(r, 1) = "" Then
  Sheet2.Cells(r, 1) = v
 Else
  c = Sheet2.Range("IV" & r).End(xlToLeft).Column
  Sheet2.Cells(r, c + 2) = v
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

r = Target.Row

v = Target.Value

End Sub

 

本回答被提问者和网友采纳
第2个回答  2016-08-06
用sub worksheet_change
第3个回答  2016-08-06
1列依次记录A1变化就够了,你要3列来记录?追问

不是,其中两列我还要自己加些数据

追答

上图举例说明

追问

表1的A1中输入SC01-10时,表2的A1也是SC01-10。

当表1的A1中更改成SC01-20时,表2的A1不变,另起D1记录SC01-20

追答

意思是:每隔2列依次记录A1曾经输入的数据?

相似回答