有一种情况,我们在工作当中需要将Excel表中某些内容复制到其它工作表中。如果是几个工作表,可以手动Ctrl+V,但是如果是几百上千个工作表,如何来操作呢?不着急,Excel为我们很好地解决了这个问题
有一种情况,我们在工作当中需要将Excel表中某些内容复制到其它工作表中。
如果是几个工作表,可以手动Ctrl+V,但是如果是几百上千个工作表,如何来操作呢?
不着急,Excel为我们很好地解决了这个问题。
而且方便到几秒钟可以完成。
FillAcrossSheets方法
做这个操作之前,我们需要用到一个方法FillAcrossSheets
这个方法功能就是将单元格区域复制到集合中所有其他工作表的同一位置。
使用方法:
expression.FillAcrossSheets(Range, Type)
expression:一个Sheets对象
Range:要复制的单元格区域
Type:指定如何复制区域
Type可选择类型
名称 值 说明
xlFillWithAll -4104 复制内容和格式。
xlFillWithContents 双面 仅复制内容。
xlFillWithFormats -4122 仅复制格式。
上图为一个示例。
我们除部门和职务列不复制其它单元格内容都复制。
操作方法
首先选择第一到五列单元格,然后单击“复制单元格内容到所有表”按钮,然后就完成了。
按钮代码在下面可查看。
复制完成后的结果就是上图,可以看到除职务和部门两列没有复制,其它都过来了。
整个过程是完全自动状态下完成了,所以节省了很多时间。
按钮代码
Private Sub CommandButton1_Click()Dim Sarr()\'定义工作表名数组Dim i As IntegerReDim Sarr(0 To ThisWorkbook.Worksheets.Count - 1)Dim w As WorksheetFor Each w In ThisWorkbook.Worksheets \' 遍历所有工作表 Sarr(i) = w.Name\'工作表名数组赋值 i = i + 1Next wIf i <= 1 Then Exit Sub\'如果没有工作表就退出Sheets(Sarr).FillAcrossSheets Selection\'复制选择单元格内容End Sub
关键代码
Sheets(Sarr).FillAcrossSheets Selection
Sarr是一个数组,里面存放着所有工作表的名称,Selection是被选择的单元格区域。
也可以写成这样的格式:
x = Array(\"Sheet1\", \"Sheet3\", \"Sheet5\") Sheets(x).FillAcrossSheets _ Worksheets(\"Sheet1\").Range(\"A1:C5\")
上例将Sheet1表中的A1:C5单元格内容复制到Sheet3和Sheet5工作表当中。
本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。