VBA 的跨表数据更新

VBA 的跨表数据更新

本次跨表更新,是将其中一个表格中的sheet页对应数据复制粘贴到,另一个表格的对应sheet页中。

'首先是将源文件打开,然后获取源文件对应sheet的,这里将目标文件的数据复制到源文件对应sheet
Path = “*****.xls”
Dim mybook As Workbook
Set mybook = GetObject(mpath & mme & target)
'然后打开目标文件
Dim usedata As Workbook
Set usedata = Workbooks.Open(Path)
usedata.Activate '激活目标工作簿
'通过变量r来计数所有的行数,这种方式可以自己设定开始点,到最后末尾点。
r = ActiveSheet.UsedRange.Rows.Count
arr = usedata.Sheets(1).Range(“a2:g” & r)
ReDim brr(1 To UBound(arr), 1 To 6)
m = 0
'下面for语句是可以从对应列的数据来筛选出想要的字段,
For i = 1 To UBound(arr)
If arr(i, 2) = “某某名称” Then
m = m + 1
brr(m, 1) = arr(i, 1)
brr(m, 2) = arr(i, 2)
brr(m, 3) = arr(i, 3)
brr(m, 4) = arr(i, 4)
brr(m, 5) = arr(i, 7) / 10000
brr(m, 6) = arr(i, 7)
End If
Next
If m > 0 Then
'筛选完成后,激活源对应sheet
mybook.Worksheets(“sheet1”).Activate
'将数据赋值给源sheet文件
mybook.Worksheets(“sheet1”).Range(“A3”).Resize(m, 6) = brr
usedata.Close
'最后释放中间变量,通过erase来释放
Erase arr
Erase brr
Set usedata = Nothing
End If

'复制粘贴也可以使用下面方法。通过select选中对应数据区域
maxline = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Range(“a1:f” & maxline).Select
'使用copy复制对应的选中区域
Selection.Copy

'然后通过先选中需要粘贴的位置区域中的最左上角,然后paste
'就可以完成数据的更新

你可能感兴趣的:(VBA 的跨表数据更新)