VBA之跨文件复制拷贝

您所在的位置:网站首页 将一个工作簿复制到另一个工作簿里面 VBA之跨文件复制拷贝

VBA之跨文件复制拷贝

2024-07-12 09:54| 来源: 网络整理| 查看: 265

我们在使用VBA的时候,如果想对文件里面的内容进行跨文件拷贝,我需要使用到一种方法,首先对我们需要拷贝的文件,进行路径写死进行访问,如下代码示例:

                            

a = "xxx.xlsm" Workbooks(a).Activate Workbooks(a).Worksheets("Sheet1").Select Range("E3:F11").Select Selection.Copy For t = 0 To 100 strings(t) = Workbooks(a).Worksheets("Sheet1").Cells(3 + t, 2) If strings(t) "" Then i = i + 1 End If Next

然后我们对我们需要拷贝的文件夹进行目录的搜索,以下代码示例:

b = Dir("C:\Users\mid1867\Desktop\files\") '当前文件夹路径 Do While b "" If Right(b, 5) = ".xlsx" Then Workbooks(b).Worksheets("xxxsheet").Range(areaname).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False endif loop

最后就是判断当前文件夹是否有打开,来判断是否拷贝,代码和上面差不多,只是在循环里面进行判断,代码如下示例:

b = Dir("C:\Users\mid1867\Desktop\files\") '当前文件夹路径 Do While b "" If IsWbOpen(b) Then '这一步是对文件是否打开进行判断 If Right(b, 5) = ".xlsx" Then Workbooks(b).Worksheets("xxxsheet").Range(areaname).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False endif endif loop

贴上判断文件是否打开的子函数

'is file open? Function IsWbOpen(strName As String) As Boolean Dim w As Workbook For Each w In Application.Workbooks If w.Name = strName Then IsWbOpen = True: Exit Function Next IsWbOpen = False End Function

跨文件内容差不多就是这样了,先分享到这里。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3