excel中,将一个工作表中几列数据自动更新到另一个工作表中对应的列中(用vba)

比如,我有两个工作表,分别为表1(有数据),表2(为空),表1中有名称,编号,面积,性别几列数据,我想当表1的数据录入或更新完后,表2的A列自动生成表1中的名称数据,表2的B列自动生成表1中的面积数据(注意:表1中的字段名称不生成到表2中,这样就是说,表2的第一行为空,数据从第二行开始生成),请大侠帮忙,用VBA

第1个回答  推荐于2021-02-05
其实也不是太难,不过表1更新完成表2自动更新会导致后台一直随表1更新运行,极耗资源,建议事件放在表2激活下面,效果是一样的,等下我整理下代码发上来。

代码
置于表2下
Private Sub Worksheet_Activate()
Range("A:Z").Clear '清空部分区域,一般能包括

Dim RefRow As Integer
Dim RefCol As Integer
Dim SubRowIndex As Integer
Dim SubColIndex As Integer

RefRow = 0 ' 表示表2相对表1的行偏移
RefCol = 0 ' 表示表2相对表1的列偏移

SubRowIndex = 2 '从表1第二行开始
Do

'假设表1为"Sheet1"
'假设表2为"Sheet1"

For SubColIndex = 1 To 10 '表1从第一列开始,共10列
Worksheets("Sheet2").Cells(SubRowIndex + RefRow, SubColIndex + RefCol) = Worksheets("Sheet1").Cells(SubRowIndex, SubColIndex).Value '实际操作赋值语句
Next SubColIndex
SubRowIndex = SubRowIndex + 1

Loop While Worksheets("Sheet1").Cells(SubRowIndex, 1) <> "" '表1第一列为空时跳出

End Sub本回答被提问者采纳