如何利用vb将一个已打开的EXCEL文件单元格内容复制到同一目录下的另一个excel文件中(为打开的文件)
d盘根目录下有两个文件,1.xLSX和2.xLSX,每个文件中只有多个SHEET。我想通过VB将打开的1.xLSX的1--5行A--G列复制到2.xLSX的6--10行A...
d盘根目录下有两个文件,1.xLSX和2.xLSX,每个文件中只有多个SHEET。我想通过VB将打开的1.xLSX的1--5行A--G列复制到2.xLSX的6--10行A--G列(下一次复制接着在2.LSX后面的位置上粘贴内容),用一个按钮控制控制,点击按钮后,自动复制完后清楚1.xLSX的内容,2.xlsx文件始终关闭的,请按我的条件帮忙编一段代码!最好调试过的,如果好用贴体我会追加分的。
展开
3个回答
展开全部
打开1.xls,添加一个按钮,粘贴以下代码,在A1:G5区域输入数据,点击按钮,数据存入2.xls,同时1的数据清空。代码虽简单但已调试通过。
Sub 按钮1_单击()
Dim j As Integer
Dim arr
Dim wb As Workbook
Sheet1.Activate
arr = Range("a1:g5")
Set wb = Workbooks.Open("d:\2.xls")
wb.Sheets(1).Activate
j = Range("a65535").End(xlUp).Row
For i = 1 To 5
For k = 1 To 7
Cells(i + j, k) = arr(i, k)
Next
Next
wb.Close True
Sheet1.Activate
Range("a1:g5").Clear
End Sub
Sub 按钮1_单击()
Dim j As Integer
Dim arr
Dim wb As Workbook
Sheet1.Activate
arr = Range("a1:g5")
Set wb = Workbooks.Open("d:\2.xls")
wb.Sheets(1).Activate
j = Range("a65535").End(xlUp).Row
For i = 1 To 5
For k = 1 To 7
Cells(i + j, k) = arr(i, k)
Next
Next
wb.Close True
Sheet1.Activate
Range("a1:g5").Clear
End Sub
展开全部
好用贴体?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
扣我
一五九六三九七零
一五九六三九七零
追问
请大哥赐教!
追答
Sub test()
Dim wba As Workbook, wbb As Workbook
Dim Erow As Long
'------------------------以下代码检测1.xlsx是否打开------------------------------
For Each wba In Workbooks
If wba.Name = "1.xlsx" Then Exit For
Next
If wba Is Nothing Then
Set wba = Workbooks.Open("D:\1.xlsx", , False) '如果该文件没打开,则打开之
End If
'------------------------以下代码进行复制处理工作--------------------------------
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set wbb = Workbooks.Open("D:\2.xlsx", , False)
Erow = Application.Max(wbb.Worksheets(2).[a1048576].End(3).Row, 5)
wba.Worksheets(1).Range("A1:G5").Copy wbb.Worksheets(2).Cells(Erow + 1, "A")
wba.Worksheets(1).Range("A1:G5") = ""
wba.Save
wba.Close
wbb.Save
wbb.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询