欢迎访问华乐美文网

怎样复制粘贴整张表格

办公表格2019-06-11 04:00书业网

篇一:excel如何把多张工作表内容快速复制到一张表

给工作表的每行都附上工作表名作为新列

Sub test()

Dim i As Integer

Dim j As Integer

Dim o As Integer

i = Worksheets.Count

For j = 1 To i

'o = Worksheets(j).UsedRange.Rows.Count

Worksheets(j).Range("k3:k30") = Worksheets(j).Name

Next

End 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 With Next

End 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 With

Next

End 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).Select

Range("b65536").End(xlUp).Row 问题

高手赐教其含义与区别

Range("a65536").End(xlUp).Row

Range("b65536").End(xlUp).Row

Range("d65536").End(xlUp).Row

Range("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").Activate

Range("B4", Range("B4").End(xlToRight)).Select

Range("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).Row

A列第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 Integer

Rng = sheets1.Range

代码详解

定义RNG作为一个整型变量

'第二行的"sheets1"这种写法是错误的.正确的表述方法应为"sheet1"或"sheets(1)" sheet1,对工作表对象的称呼;

range("a65536")指一个range对象,具体指第一列最后一行;

END,range对象的END属性,也返回一个对象,我理解为基于上述对象的延伸至最后一个RANGE对象.具体延伸的方向要看它给出的参数.比如xlToLeft、xlToRight、xlUp 或 xlDown。

篇二:如何把几百张表同时复制到一个表

Sub 数据集中()

Sheets(1).Select

For i = 2 To ThisWorkbook.Sheets.Count

Sheets(i).UsedRange.Copy

Sheets(1).[A65536].End(xlUp).Offset(1, 0).Select ActiveSheet.Paste

Next i

Application.CutCopyMode = FalseEnd Sub

在已有的工作表前添加一个加空表(即新建的工作表)

同时按住 ALT键 跟F11

出现一个编程画面

右边黑色的

然后 在

插入里面有模块

然后弹出这个画面

弹出一个小窗口

点出这个编程画面

到上面 插入里面选模块

插入这个选项

选模块

最后把这段程序复制进去

Sub数据集中()

Sheets(1).Select

Fori=2ToThisWorkbook.Sheets.Count Sheets(i).UsedRange.Copy

Sheets(1).[A65536].End(xlUp).Offset(1,0).Select ActiveSheet.Paste

Nexti

Application.CutCopyMode=False

EndSub

然后 按F5运行

就把所有表都放在你的空表了

篇三:Excel工作表复制与移动技巧

Excel工作表复制与移动技巧

在使用Excel时,经常会需要在工作表间复制或移动数据,或者干脆复制整个工作表。复制一个工作表中所有单元格的内容和复制整个工作表是有区别的,下面分别介绍复制或移动的方法。

1.复制与粘贴工作表中的所有单元格

这是大多数人经常会用到的一种方法,也比较方便易行。具体操作步骤如下。

(1)按Ctrl+A键选中所有单元格(在Excel 2003中,如果要选中工作表中所有单元格,需要在按Ctrl+A之前先选中空白区域中的一个单元格;如果事先选中的是数据区域的一个单元格,则按 Ctrl+A选中的是整个包含数据的区域,而不是工作表中的所有单元格,在实际操作时请注意这种区别)。也可以单击工作表左上角的行与列交点,从而选中所有单元格。

小技巧:其实如果事先选中了数据区域的单元格,可以按Ctrl+A+A键来选中所有单元格。

(2)按Ctrl+C复制。

(3)按Ctrl+Page Down跳转到另一个工作表,然后单击A1单元格。

(4)按回车键。这样就将前一工作表中的所有单元格复制到了当前工作表中了。

2.复制整个工作表

复制整个工作表不只意味着要复制工作表中的所有单元格,还包括该工作表的页面设置参数,以及自定义的区域名称等。

方法一

(1)移动鼠标指针到工作表标签上方。

(2)按住Ctrl键的同时拖动工作表到另一位置。

(3)松开Ctrl键和鼠标左键,这样就(转 载于:wWW.cSsYq.cOM 书业网:怎样复制粘贴整张表格)完成了同一工作簿整个工作表的移动并复制。方法二

(1)在工作表标签上单击右键。

(2)从弹出菜单中选择“移动或复制工作表”。这时会出现如图1所示的“移动或复制工作表”对话框,我们可以看到,可以将选定的工作表移动到同一工作表的不同位置,也可以选择移动到其它工作簿的指定位置。如果选中对话框下方的复选框“建立副本”,就会在目标位置复制一个相同的工作表。

图1

方法三

(1)选择菜单命令“窗口|重排窗口”。

(2)在“重排窗口”对话框中选择“排列方式”为“平铺”,如图2所示。单击“确定”按钮。

图2

(3)按方法一所介绍的方法按Ctrl键拖放工作表,将工作表从一个工作簿复制到另一个工作簿

Copyright @ 2012-2024华乐美文网 All Rights Reserved. 版权所有