您的位置:首页 > 编程语言 > VB

通过VBA实现Excel批量克隆单元格

2014-03-31 19:47 447 查看
1、按下Alt+F8,给宏起名(比如copy),点击创建

2、新创建的宏主体部分是空白的,在sub和end sub之间粘贴以下脚本
Sub copy()
'快捷键 Ctrl+r
On Error GoTo ErrorHandler
Application.CutCopyMode = False
Selection.copy
Dim co, ro, hi, wi As Integer
'co起始列,ro起始行,hi需要合并的行数,wi需要处理的列数
co = Selection.Column
ro = Selection.Row
hi = Selection.Rows.Count
wi = Selection.Columns.Count
ActiveSheet.Cells(ro, co + wi).Select
'如果需要向下粘贴单元格,注释掉上一行,并取消注释下面一行
'ActiveSheet.Cells(ro + hi, co).Select
Dim m As Integer
m = 0
m = InputBox("请输入您需要拷贝的数量", "请输入")
While m > 0
If WorksheetFunction.CountA(Selection.Resize(hi, wi)) = 0 Then
ActiveSheet.Paste
End If
ActiveCell.Offset(0, wi).Select
'如果需要向下粘贴单元格,注释掉上一行,并取消注释下面一行
'ActiveCell.Offset(hi, 0).Select
m = m - 1
Wend
ActiveSheet.Cells(ro, co).Select
ErrorHandler:
End Sub
3、完成后关闭编辑窗口

4、按Alt+F8,选项,设置快捷键(比如Ctrl+r)

5、选中要复制的内容



6、Ctrl+r(自定义的快捷键),输入要复制的数量并回车执行



7、脚本将从当前区域右侧开始执行粘贴动作



8、复制过程中,遇到存在数据的区域,将会跳过(仍然计数)



注意事项:Excel需要启用宏
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Excel VBA 复制
相关文章推荐