作者:乔山办公网日期:
返回目录:excel表格制作
设表抄1名称为sheet1,则在表2的A1单元输入:=IFERROR(OFFSET(Sheet4!$A$1,IF(MOD(ROW()+7,11)=0,(ROW()+7)/11,""),COLUMN()),""),向右拖动知,道填充A2;在A3单元格内填充=IFERROR(OFFSET(Sheet4!$A$1,IF(MOD(ROW()+7,11)=0,(ROW()+7)/11,""),COLUMN()+1),"")并向右拖动填充到K1;
选中A1到K1,向下拖动,填充整个数据区域。
已经通过测试数据可行。
Set SH0 = Worksheets("Sheet1")
SH0.Range("A2:C65536").ClearContents
IROW = 2
FileArr = FileAllArr(ThisWorkbook.Path & "", "*.xls?", ThisWorkbook.Name, True, False)
For I = 0 To UBound(FileArr)
Set WB = Workbooks.Open(FileArr(I), CorruptLoad:=xlExtractData) '//打开工作簿e68a84e79fa5e98193366
Set SHX = WB.Worksheets(1)
SH0.Cells(IROW, 1) = GetPathFromFileName(FileArr(I), False)
SH0.Cells(IROW, 2) = SHX.Range(SH0.Cells(1, 2))
SH0.Cells(IROW, 3) = SHX.Range(SH0.Cells(1, 3))
IROW = IROW + 1
WB.Close False '//保存
Next
复制代码
如果你需要复制的表很多,并且格式都一致,例如都是从Sheet1(即你百所有表都是从名为“Sheet1”中复制相应单元格。其它名字也可,但必须一致)中将C5、C6、C7复制到Sheet2(即你所有表都是将复制内容粘到“Sheet2”中,其它名字也可,但必须一致)中的A1、B1、C1,那你可以录制一个宏
具体步度骤是(以03版为例)先打开一张表,然后选择:工具——宏——录制新宏 点击确定后就可以开始录制宏了,其实就是专将你要进行的操作,做一遍即可,等做完后再选择:工具——宏——停止录制宏 即可。
然后你就可以打开其它表格,从:工具——宏——运行宏 中找到你刚刚属录制的宏,然后运行即可重复你相应的操作
注意:你所复制的所有表名必须一致,否则会出错。
公式为:
=REPLACE(J8,1,2,)&"、度"&REPLACE(J9,1,2,)&"、"&REPLACE(J10,1,2,)&"、"&REPLACE(J11,1,2,)&"、"&REPLACE(J12,1,2,)&"、"&REPLACE(J13,1,2,)&"、"&REPLACE(J14,1,2,)&"、"&REPLACE(J15,1,2,)&"、"&REPLACE(J16,1,2,)&"、"&REPLACE(J17,1,2,)
直接取出来,但是问不建议这样答的操作版,对于EXCEL来说一点也不权合常理