求excel代码:将当前文件中的有内容的部分插入到一个叫总表的文件的特定位置
我有两个excel工作簿(不是sheet表啊,是两个excel文件,但内容都在sheet1中),假如一个叫“分表”,另一个叫“总表”。“分表”是一个小表。“总表”是一个大...
我有两个excel工作簿 (不是sheet表啊,是两个excel文件,但内容都在sheet1中), 假如一个叫“分表”,另一个叫“总表”。 “分表”是一个小表。“总表”是一个大表,是很多小表的组合。 这时候我需要将 “分表”的有内容的部分插入到“总表”中,但是又不能随便插入到“总表”中,这时候我就在 “分表”的G列编上序号。比如,凡是 “分表”中有内容的行的G列我都写上5。在“总表”的G列也编好了序号。这时候我就需要运行代码,将 “分表”中的内容复制插入到“总表”中, 根据G列的顺序, “分表”的行上G列都是5,那么就需要将 “分表”的所有的内容插入到B表的G列为3和6之间的分界的那行。
然后保存就OK了 展开
然后保存就OK了 展开
2个回答
展开全部
*. 以下代码copy到总表的VBE中执行。基本逻辑是,先copy,再排序
* . 根据实际分表的路径和名字更改, 以下例子中,分表为D:\1.xls
如需根据其他数字插入数字,可更改R=5
Sub test()
Dim wb As Workbook
Dim wRecord, thisRecord As Long
Dim tempcell As Range
Const R = 5
Set wb = Workbooks.Open("D:\1.xls")
wRecord = wb.Sheets("Sheet1").[G65536].End(xlUp).Row
thisRecord = ThisWorkbook.Sheets("Sheet1").[G65536].End(xlUp).Row
With wb.Sheets("Sheet1")
For Each tempcell In .Range("G2:G" & wRecord)
If tempcell.Value = R Then
.Range(tempcell.Offset(0, -6), tempcell).Copy Destination:=ThisWorkbook.Sheets("sheet1").Cells(thisRecord + 1, 1)
thisRecord = thisRecord + 1
End If
Next
End With
wb.Close
Set wb = Nothing
ThisWorkbook.Sheets("sheet1").Range("A2:G" & thisRecord).Sort key1:=ThisWorkbook.Sheets("sheet1").Range("G:G")
End Sub
* . 根据实际分表的路径和名字更改, 以下例子中,分表为D:\1.xls
如需根据其他数字插入数字,可更改R=5
Sub test()
Dim wb As Workbook
Dim wRecord, thisRecord As Long
Dim tempcell As Range
Const R = 5
Set wb = Workbooks.Open("D:\1.xls")
wRecord = wb.Sheets("Sheet1").[G65536].End(xlUp).Row
thisRecord = ThisWorkbook.Sheets("Sheet1").[G65536].End(xlUp).Row
With wb.Sheets("Sheet1")
For Each tempcell In .Range("G2:G" & wRecord)
If tempcell.Value = R Then
.Range(tempcell.Offset(0, -6), tempcell).Copy Destination:=ThisWorkbook.Sheets("sheet1").Cells(thisRecord + 1, 1)
thisRecord = thisRecord + 1
End If
Next
End With
wb.Close
Set wb = Nothing
ThisWorkbook.Sheets("sheet1").Range("A2:G" & thisRecord).Sort key1:=ThisWorkbook.Sheets("sheet1").Range("G:G")
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询