excel如何把多张工作表内容快速复制到一张表.doc_第1页
excel如何把多张工作表内容快速复制到一张表.doc_第2页
excel如何把多张工作表内容快速复制到一张表.doc_第3页
excel如何把多张工作表内容快速复制到一张表.doc_第4页
excel如何把多张工作表内容快速复制到一张表.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

给工作表的每行都附上工作表名作为新列Sub test()Dim i As IntegerDim j As IntegerDim o As Integeri = Worksheets.Count For j = 1 To io = Worksheets(j).UsedRange.Rows.CountWorksheets(j).Range(k3:k30) = Worksheets(j).NameNextEnd Sub如何把多张工作表内容快速复制到一张表我有一份教师工资表,一个工作簿里有好多张工作表的,现在我想把各工作表里的内容全部合到一张表中,除了用复制粘贴的方法外,请问还能有什么好的方法快速合到一起吗?(首选)Sub yy() 声明过程名称为“yy”。当要声明一个过程时,通常是以关键字“SUB”开头,并且以关键字“END”结束,在SUB关键字之前是用来指定此过程的作用域,例如public,static, 或protected 等。在SUB关键字之后为过程最重要的三大部分:过程名称、参数以及在SUB和END SUB之间的主体程序代码内容。过程是可以执行的语句序列单元,所有可执行的代码必须包含在某个过程中,任何过程都不能嵌套在其它过程中,过程的名称必须在模块级别进行定义。Sheets.Add after:=Sheets(Sheets.Count)新建一个工作表放在最后。参数值和参数名之间应该使用“:=”符号,而不是等号。在代码中,属性和方法都是通过连接符“.”来和对象连接的。Add是方法名,after是自变量,方法名与自变量之间用半角空格隔开。For i = 1 To Sheets.Count - 1从第一个工作表到倒数第二个工作表With Sheets(i)with语句可以在一个单一对象或一个用户定义类型上执行一系列的语句。使用with语句不仅可以简化程序代码,而且可以提高代码的运行效率。 With/end with语句结构中以“.”开头的语句相当于引用了with语句中指定的对象。当程序一旦进入with/end with结构,with语句指定的对象就不能改变。因此不能用with语句来设置多个不同的对象。n = .c65536.End(xlUp).Row求出c列最大行号。求出某列最大行号的目的是确定有数据区域的最下边界,为此,选择求最大行号列时,选择的列数据最下边界要最大限度包含所有的数据。End和Row都是属性,此语句取得属性值后赋值给变量n。此程序事先没有对变量进行声明。在程序中取得对象的属性的代码结构:变量=对象属性。.Range(a2:V&n).Copy ActiveSheet.c65536.End(xlUp).Offset(1, -2)取a2开始到最后的数据copy到新表数据的下一行。n =.c65536.End(xlUp) .Row得到C列最后一个非空单元格所在的行号,“.Offset(1, -2)”偏移“c65536.End(xlUp)”得到单元格的位置开始复制后数据的粘贴位置。由C列移到A列。c65536.End(xlUp):求出C列最下边有数据的单元格,粘贴复制的数据时为了前面的数据不被后面粘贴上的数据覆盖,开始粘贴数据的位置在最下边有数据的单元格位置的基础上要用offset偏移。End WithNextEnd Sub 注:在VISUAL BASIC中要加入注释,直接在注释文字前加上符号即可,在符号之后的文字会被编译器忽略,也可以使用REM来进行注释,但使用符号会更快捷一些,还可以节省内存及加快编译的效率。以上代码粘贴位置、复制范围可以根据实际需要可变。2010年5月用于林业旱灾调查一个工作簿上的所有工作表汇总 到一张工作表的代码:Sub yy() 声明过程名称为yy。当要声明一个过程时,通常是以关键字SUB开头,并且以关键字END结束,在SUB关键字之前是用来指定此过程的作用域,例如public,static, 或protected 等。在SUB关键字之后为过程最重要的三大部分:过程名称、参数以及在SUB和END SUB之间的主体程序代码内容。过程是可以执行的语句序列单元,所有可执行的代码必须包含在某个过程中,任何过程都不能嵌套在其它过程中,过程的名称必须在模块级别进行定义。Sheets.Add after:=Sheets(Sheets.Count) 新建一个工作表放在最后。参数值和参数名之间应该使用:=符号,而不是等号。在代码中,属性和方法都是通过连接符.来和对象连接的。Add是方法名,after是自变量,方法名与自变量之间用半角空格隔开。For i = 1 To Sheets.Count - 1 从第一个工作表到倒数第二个工作表With Sheets(i) with语句可以在一个单一对象或一个用户定义类型上执行一系列的语句。使用with语句不仅可以简化程序代码,而且可以提高代码的运行效率。 With/end with语句结构中以.开头的语句相当于引用了with语句中指定的对象。当程序一旦进入with/end with结构,with语句指定的对象就不能改变。因此不能用with语句来设置多个不同的对象。n = .a65536.End(xlUp).Row 分别求出最大行号。 End和Row都是属性,此语句取得属性值后赋值给变量n。此程序事先没有对变量进行声明。在程序中取得对象的属性的代码结构:变量=对象属性。.Range(a3:v & n).Copy ActiveSheet.a65536.End(xlUp).Offset(1, 0) 取a2开始到最后的数据copy到新表数据的下一行。n =.c65536.End(xlUp) .Row得到C列最后一个非空单元格所在的行号,.Offset(1, -2)偏移c65536.End(xlUp)得到单元格的位置开始复制后数据的粘贴位置。由C列移到A列。End WithNextEnd Sub注:在VISUAL BASIC中要加入注释,直接在注释文字前加上符号即可,在符号之后的文字会被编译器忽略,也可以使用REM来进行注释,但使用符号会更快捷一些,还可以节省内存及加快编译的效率。如果当前活动工作表的A列填写的是学生的姓名,现在我们想在表中A列最后一个学生的后面增加一个叫“张青”的学生,则代码为:代码:ActiveSheet.Cells(A65536.End(xlUp).Row + 1, 1).Value = 张青“A65536.End(xlUp).Row”语句来返回A列的最后一个非空单元格的行号Sheet1.range(C1).End(xlDown).Row返回第一次遇到空单元格前的单元格的数量。(注:当C列有空白单元格时用:myEndRow=sheets(sheet1).range(C65536).End(xlUp).row)a65536.End(xlUp) 取得A列最后一个数据的位置本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。Range(B4).End(xlUp).SelectRange(b65536).End(xlUp).Row 问题高手赐教其含义与区别Range(a65536).End(xlUp).RowRange(b65536).End(xlUp).RowRange(d65536).End(xlUp).RowRange(k65536).End(xlUp).Row看一下vba中END的帮助就知道了。End 属性参阅应用于示例特性返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。expression.End(Direction)expression 必需。 该表达式返回“应用于”列表中的对象之一。Direction XlDirection 类型,必需。所要移动的方向。XlDirection 可为 XlDirection 常量之一。 xlDown xlToRight xlToLeft xlUp 示例本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。Range(B4).End(xlUp).Select 本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。Range(B4).End(xlToRight).Select 本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。Worksheets(Sheet1).ActivateRange(B4, Range(B4).End(xlToRight).SelectRange(a65536).End(xlUp).Row A列数据区域最后一行的行号Range(b65536).End(xlUp).Row B列数据区域最后一行的行号Range(d65536).End(xlUp).Row D列数据区域最后一行的行号Range(k65536).End(xlUp).Row K列数据区域最后一行的行号Range(a65536).End(xlUp).RowA列第65536行之上的最后有数据的单元格所在行数回复Range(b65536).End(xlUp).Row = B列最后一个非空单元格的行数Range(a65536).End(xlUp).Row=A列最后一个非空单元格的行数Range(b65536).End(xlUp).Row = B列最后一个非空单元格的行数Range(d65536).End(xlUp).Row = D列最后一个非空单元格的行数Range(k65536).End(xlUp).Row= K列最后一个非空单元格的行数请教.end(xlUp).row的含义?经常在VBA中常见如下代码:Dim Rng As IntegerRng = sheets1.Range代码详解定义RNG作为一个整型变量第二行的sheets1这种写法是错误的.正确的表述方法应为sheet1或sheets(1)sheet1,对工作表对象的称呼;range(a65536)指一个range对象,具体指第一列最后一行;END,range对象的END属性,也返回一个对象,我理解为基于上述对象的延伸至最后一个RANGE对象.具体延伸的方向要看它给出的参数.比如xlToLeft、xlToRight、xlUp 或 xlDown。ROW返回区域中第一块的第一行的行号。Long 类型,只读多谢两位高手指点,看完以后我是这样理解的,不知对否? Range(A65536).End(xlUp).Row 是指第一列最后一个有数据单元格的行数,它的下一行即加 1 就是3楼所说的要添加数据的空白单元格汇总工作表数据2010-06-03 00:44方法一:Sub Getdata()Dim Erow As Integer, c As Variant, Serow As IntegerErow = Sheets(Total).a65536.End(xlUp).Row + 1If Erow 4 Then Sheets(Total).Rows(4: & Erow).ClearContentsFor Each c In ThisWorkbook.Sheets If c.Name Total Then Serow = c.a65536.End(xlUp).Row Erow = Sheets(Total).a65536.End(xlUp).Row + 1 c.Range(a4:l & Serow).Copy Destination:=Sheets(Total).Range(a & Erow) End IfNext cEnd Sub方法二Sub SQLConbime()Range(A4:L65536).ClearContentsDim iRow As Integer, sqlTemp As String, sql As String Set cnn = CreateObject(adodb.connection) cnn.Open provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source= & ThisWorkbook.FullName For Each sh In Sheets If sh.Name 理数 Then iRow = sh.Range(a3).End(xlDown).Row sqlTemp = select * from & sh.Name & $A3:L & iRow & order by 班别,座号 sql = sqlTemp & union & sql End If Next sql = Left(sql, Len(sql) - 6) Sheets(理数).Range(a4).CopyFromRecordset cnn.Execute(sql) cnn.Close: Set cnn = NothingEnd Sub方法三Sub ConbimeAll() Dim yy As Long yy = a65536.End(xlUp).Row + 1 Range(a2:l & yy).ClearContents Set conn = CreateObject(adodb.connection) For i = 1 To 4 conn.Open provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source= & ThisWorkbook.FullName Sq2 = select * from & Range(p & i) & $a3:l1000 a65536.End(xlUp).Offset(1, 0).CopyFromRecordset conn.Execute(Sq2) conn.Close Next i Set conn = NothingEnd Sub把工作簿中的200多张表复制到一张工作表里?(首选)我是做收款工作的,每天收款情况做一张表格,现在快一年了,今天老板突然要我把这9个月积累的每日数据全部反映到一张工作表上,其实点复制粘贴200多张表不是大问题,主要是怕中途看花了眼,漏了或者重复了就很麻烦,请教高手帮忙,用公式或者VBA,小弟感激不尽。右键点击新工作表标签,选择“查看代码”,将下面的代码粘贴到打开的VBE窗口中:Sub Shcopy()Dim nRow&, R1%, Rs%, Ls%&:长整数型;%:整数型。R1 = 2 每页从第2行开始复制(可修改)Application.EnableEvents = False 如果对指定对象启用事件,则该值为 True。Boolean 类型,可读写Application.ScreenUpdating = FalseFor i = 2 To Sheets.Countsheets.count最后一张工作表。With Sheets(i)Rs = .UsedRange.Rows.Count + 1 - R1 对于 Worksheet 对象,Rows 属性返回代表指定工作表所有行的 Range 对象。Range 对象,只读。工作表上已使用区域的行数。Ls = .UsedRange.Columns.Count Count 属性。描述:返回集合或 Dictionary 对象中的条目数。只读。语法:object.Count object 总是“应用于”列表中某一项的名称。工作表上已使用区域的列数。arr = .Range(a & R1).Resize(Rs, Ls)arr为变量,在VBA中,变量无需声明就可以直接使用,此时该变量为变体变量。Resize 属性。在Excel中,Resize 属性的功能为调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。 expression.Resize(RowSize, ColumnSize) expression 必需。该表达式返回要调整大小的 Range 对象。 RowSize Variant 类型,可选。新区域中的行数。如果省略该参数,则该区域中的行数保持不变。 ColumnSize Variant类型,可选。新区域中的列数。如果省略该参数。则该区域中的列数保持不变。Range(a65536).End(xlUp).Offset(1).Resize(Rs, Ls) = arrEnd WithNextApplication.EnableEvents = TrueApplication.ScreenUpdating = TrueEnd Sub修改“开始行号”。将光标定位到代码中间任意位置,按F5运行它。关闭VBE窗口。注意单词之间要用空格隔开。Excel多个工作簿中的工作表合并到一个工作簿中 有时,需要将多个Excel工作簿中的工作表合并到一个工作簿中。有多种合并工作簿的情形,下面先给出一种合并多个工作簿的VBA范例,供参考。(此方法将一个工作簿中所有的工作表复制到一张工作表上)方法1Sub CombineWorkbooks()Dim wk As WorkbookDim sh As WorksheetDim strFileName As StringDim strFileDir As StringDim nm As Stringnm = ThisWorkbook.NamestrFileDir = ThisWorkbook.path & Application.ScreenUpdating = FalsestrFileName = Dir(strFileDir & *.xls)Do While strFileName vbNullStringIf strFileName nm ThenMsgBox strFileNameSet wk = Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True)strFileName = Left(Left(strFileName, Len(strFileName) - 4), 29) 取主文件名,除掉.XLSFor Each sh In wk.Sheetssh.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)工作表命名,以工作表所在文件名为类If wk.Sheets.Count 1 ThenThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = strFileName & sh.NameElseThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = strFileNameEnd IfNextwk.Close SaveChanges:=FalseEnd IfstrFileName = DirLoopApplication.ScreenUpdating = TrueEnd Sub方法2Sub UnWorksheets()Application.ScreenUpdating = FalseDim lj As StringDim dirname As StringDim nm As StringDim sname As StringDim i As Integer, ii As Integerlj = ActiveWorkbook.pathnm = ActiveWorkbook.Namedirname = Dir(lj & *.xls) 查找文件Do While dirname If dirname nm ThenWorkbooks.Open Filename:=lj & & dirname 打开文件ii = ActiveWorkbook.Sheets.Count 统计工作表个数复制新打开工作簿的每一个工作表到当前工作表(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)最后一个后面For i = 1 To iiWorkbooks(dirname).Sheets(i).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)NextWorkbooks(dirname).Close FalseEnd Ifdirname = DirLoopEnd Sub在同一文件夹下有多个工作簿,其中有一个用于汇总的工作簿,将除该汇总工作簿外的其它工作簿中的每一张工作表的数据汇总到该汇总工作簿的一张工作表中。好用!Sub UnionWorksheets()Application.ScreenUpdating = False关闭屏幕更新Dim lj As String Dim dirname As StringDim nm As StringDim i As Integer, ii As Integerlj = ActiveWorkbook.path Path 属性。返回指定文件、文件夹、或驱动器的路径。nm = ActiveWorkbook.Name Name属性。指定一个控件或对象的名称或与 Font 对象相关的字体的名称。变量赋值使用=“等号”,“=”后的值可以是单纯的数值、字符串或表达式。dirname = Dir(lj & *.xls) Dir 函数。返回一个String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。Cells.Clear Clear 方法。清除 Err 对象的所有属性设置。Do While dirname 前置式DOLOOP循环。If dirname nm ThenWorkbooks.Open Filename:=lj & & dirname Open 方法。“”为比较运算符“不等于”。ii = ActiveWorkbook.Sheets.Count Sheets 属性Workbooks(nm).Activate Activate方法。Workbooks(nm)属使用工作簿名称引用workbook,语法格式为:workbook( 工作簿名称)。复制新打开工作簿的每一个工作表的已用区域到当前工作表For i = 1 To iiWorkbooks(dirname).Sheets(i).UsedRange.Copy _Range(a65536).End(xlUp).Offset(2, 0) UsedRange 属性。返回代表指定工作表上已使用区域的 Range 对象。只读NextWorkbooks(dirname).Close False Close 方法。关闭一个打开的 TextStream 文件。语法:object.Close object始终是一个 TextStream 对象的名字End Ifdirname = DirLoopEnd Sub如何利用VBA将多工作表的数据汇总而不复制标题?A:将sheet2工作表中待复制的数据定义为“表1”,将sheet3工作表中待复制的数据定义为“表2”ALT+F11新建模块,并输入如下代码 Sub 利用表仅复制数据()Dim sh As Worksheet, IFor Each sh In WorksheetsIf sh.Name Sheet1 Then I = I + 1 Range(表 & I).Copy Sheets(Sheet1).Range(A65536).End(xlUp).Offset(1, 0)End IfNext shEnd Sub如何将多个工作簿中的工作表一次性合S 问题:如何将多个工作簿中的工作表一次性合S答案: 关于如何将多个工作簿(xls文件)中的工作表(worksheet)复制到同一个工作簿中的解决。下面的代码可以将某个磁盘目录下的多个xls文件的复制到含有这段代码的xls文件中,而且xls文件可以根据处理worksheet的数量自动的增加xls文件中worksheet的数量。使用时将代码复制到xls文件的宏内,然后运行宏main即可。代码中运用了filesystemobject对象和excel的range对象的copy方法以及worksheet和workbook对象的add方法。这里就不在赘述,可以在excel vba的帮助中找到。Sub Mergesheet(ByVal sPath As String)Dim fs, fd, fl As ObjectDim xlbook As WorkbookDim xlsheet As WorksheetDim i_cnt As Integeri_cnt = 1Set fs = CreateObject(scripting.filesystemobject) 建立filesystemobjectIf Not fs.FolderExists(sPath) ThenMsgBox 目录不存在!, vbCriticalExit SubEnd IfSet fd = fs.getfolder(sPath) 或取文件夹For Each fl In fd.Files 依此处理文件夹中的文件If Right(Trim(fl.Name), 3) = xls Then 只处理xls文件Set xlbook = Application.Workbooks.Open(sPath fl.Name) 打开xls文件If i_cnt 3 Then 默认的worksheet数量是3,如果超过就自动的增加Set xlsheet = Application.Workbooks(1).Worksheets.AddElseSet xlsheet = Application.Workbooks(1).Worksheets(i_cnt)End Ifxlbook.Worksheets(1).Rows.Copy xlsheet.Cells(1, 1) 复制worksheeti_cnt = i_cnt 1xlbook.Close 关闭已经打开的xls文件End IfNextSet fl = Nothing 关闭file,folder,filesystemobject对象Set fd = NothingSet fs = NothingEnd SubSub main()Dim sPath As StringsPath = InputBox(请输入目录!如C:, 合并目录下xls文件的sheet1) 显示输入框获取磁盘目录If sPath = Then Exit SubMergesheet (sPath)End Sub 主题:求助多个工作簿中的工作表数据汇总到另一个工作簿中 回复SubBB()Workbooks.OpenFilename:=D:数据汇总&Sheets(目录).Range(E1)DimxShAsWorksheetDimIAsLong,JAsLongSheets(按钢筋种类汇总).SelectSetxSh=Sheets(按钢筋种类汇总)J=WorksheetFunction.Match(D,xSh.Range(D:d)xSh.Range(A2:Q&J).CopyWindows(指定目录下文件名.xls).ActivateSheets(汇总目录).SelectRange(A65536).End(xlUp).Offset(1,0).PasteSpecialPaste:=xlPastevaluesApplication.CutCopyMode=False B=Sheets(目录).Range(E1).valueWindows(B).ActivateActiveWindow.CloseEndSub如何将多张excel工作表批量复制到一个表中 一个表中有若干个SHEET,表头都是一样的,我需要把这若干个SHEET合并到一个SHEET里面,单纯的复制粘贴太麻烦了,表格太多。请问谁能告诉我个简单的方法,最好能有个宏能处理,方便的话发个宏到我邮箱里面。比较简单,我正好以前回答过。你参考一下。复制下面代码到一个宏里运行就可以了。 可以根据注释修改相应数字 Dim RowIndex As Integer Dim RefCol As Integer Dim SubRowIndex As Integer Dim SubColIndex As Integer RowIndex = 1 主表从第二行开始 RefCol = 1 主表从第二列开始 For SheetIndex = 1 To 100 100个sheet 循环 SubRowIndex = 1 Do 假设汇总至sheetmain For SubColIndex = 1 To 10 子表从第一列开始,共10列 Worksheets(sheetmain).Cells(RowIndex, SubColIndex + RefCol) = Worksheets(Sheet & SheetIndex).Cells(SubRowIndex, SubColIndex).Value 实际操作赋值语句 Next SubColIndex SubRowIndex = SubRowIndex + 1 RowIndex = RowIndex + 1 Loop While Worksheets(Sheet & SheetIndex).Cells(SubRowIndex, 1) 子表第一列为空时跳出 Next SheetIndex 一个工作薄中有70个工作表,且所有工作表是完全相同的,问题是如何把后面所有工作表中相同位置处的数字引用到表1中同一列中?即在表1一个单元格中出现这个数据,然后下拉就能出现所有工作表中的那个特定数据? 问题补充:我的是工资表,因为好多东西比较复杂,所以每个人都单独列了一个工作表,但格式都是一样的,现在我想提取出每个工作表中相同单元格的数量,用公式只能提出一张表的数据,下拉就会变,怎么办?最佳答案假设你要引用的是另外70个不同表中D4这个单元格。1.新建表“汇总”,在第一列A1输入工号A2至A71录入70个表的名字。2.第二列B2单元格输入公式:“=INDIRECT(CONCATENATE(A2,!D4)”,公式的意思是引用“汇总”表A2单元格相同的表中D4单元格的内容。(假设A2=王小明,则引用表“王小明”里的D4单元格的值)3.拖拽B2的右下角自动生成一列对70个表对应单元格格的引用了,其他的引申就自己开发了,公式可以结合其他运算的。以上方法我自己摸索出来的,不保证最高效,但还算好用。 excel sheet中数据的快速复制 利用Copymemory 复制数组,实现excel sheet中数据的任意复制,粘贴区域小于复制区域,数据将被截取,否则将用空格填充Private Declare Sub CopyMemory Lib kernel32 Alias RtlMoveMemory (pDst As Any, pSrc As Any, ByVal ByteLen As Long)Sub copyrange(ByVal src As Range, ByVal dest As Range) copy all data from src to destDim arrsrc(), arrdest()arrsrc = srcarrdest = destReDim arrdest(1 To dest.Rows.Count, 1 To dest.Columns.Count)CopyMemory ByVal VarPtr(arrdest(1, 1), ByVal VarPtr(arrsrc(1, 1), 16 * src.Rows.Count * src.Columns.Countdest = arrdestErase arrsrcErase arrdestEnd SubSub xxx() 将a1:c100 区域数据复制到d3:h40copyrange Range(a1:c100), Range(d3:h40)End Sub100多张工作表的有关内容如何批量复制在一张表上Sub tt()Application.ScreenUpdating = FalseDim xRows(2: & a65536.End(xlUp).Row + 1).Clear For x = 1 To Sheets.Count With Sheets(都要复制到这张表上) If Sheets(x).Name 都要复制到这张表上 Then Sheets(x).Range(A8, H25).Copy .Range(A & .a65536.End(xlUp).Row + 1) 都要复制到这张表上是工作表名, A8, H25是复制区域。 End With Next xEnd Sub如何利用VBA将多工作表的数据汇总而不复制标题?A:将sheet2工作表中待复制的数据定义为“表1”,将sheet3工作表中待复制的数据定义为“表2”ALT+F11新建模块,并输入如下代码Sub 利用表仅复制数据()Dim sh As Worksheet, IFor Each sh In WorksheetsIf sh.Name Sheet1 ThenI = I + 1Range(表 & I).Copy Sheets(Sheet1).Range(A65536).End(xlUp).Offset(1, 0)End IfNext shEnd Sub快速移动、复制Excel工作表技巧在Excel 2000中,有时需要将一个或一组工作表从一个工作簿(源工作簿)中移动或者复制到另一个工作簿(目标工作簿)中,这时我们可以采用如下的方法实现快速移动或者复制工作表的操作。一、快捷菜单法1.打开源工作簿(工作1.xls)和目标工作簿(工作2.xls),在源工作簿中选定一个或一组工作表(单击第一个工作表标签、按下Shift键,然后单击最后一个工作表标签,或在单击不相邻的工作表标签时按下Ctrl键)。2.在源工作簿中将鼠标指针指向要移动或者复制的工作表标签上,单击鼠标右键,从弹出的快捷菜单中选择“移动或复制工作表”命令,打开“移动或复制工作表”对话框。3.单击“将选定工作表移至工作簿”下拉箭头,从工作簿下拉列表中选定目标工作簿文件名称(工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论