

如图上,若sheet4里面的序号列的格子内容等于sheet5里面的序号列的某一个格子的内容,例如sheet4序号列里面的161在sheet5里面也出现了,那么就把sheet5这个格子对应的这一行都复制到sheet4对应的这一行,完成sheet4的更新。sheet5里没出现的就不用。更新求解
可以使用以下VBA代码完成数据的更新:
vba
Sub UpdateData()
Dim rowCount4 As Integer, rowCount5 As Integer
Dim colCount4 As Integer, colCount5 As Integer
rowCount4 = Sheets("sheet4").UsedRange.Rows.Count 'sheet4的行数
rowCount5 = Sheets("sheet5").UsedRange.Rows.Count 'sheet5的行数
colCount4 = Sheets("sheet4").UsedRange.Columns.Count 'sheet4的列数
colCount5 = Sheets("sheet5").UsedRange.Columns.Count 'sheet5的列数
For i = 2 To rowCount4 '遍历sheet4的每行
For j = 1 To colCount5 '遍历sheet5的序号列
If Sheets("sheet4").Cells(i, 1) = Sheets("sheet5").Cells(j, 1) Then '如果sheet4的序号等于sheet5的序号
For k = 1 To colCount5
Sheets("sheet4").Cells(i, k) = Sheets("sheet5").Cells(j, k) '则把sheet5那一行赋值给sheet4
Next k
End If
Next j
Next i
End Sub
这个代码的逻辑是:
1. 获取sheet4和sheet5的行数和列数
2. 遍历sheet4的每行
3. 对于sheet4的每行,遍历sheet5的序号列,找是否有相同的序号
4. 如果找到相同的序号,则把sheet5那一行的数据复制到sheet4对应的行
5. 重复步骤2-4,完成sheet4的更新