6、告别Ctrl+c/v!解锁VBA复制粘贴超能力(零基础入门)


1、普通复制粘贴是机械劳作,VBA的复制粘贴切实数据处理的“魔法”!它能跨工作簿、工作表瞬间迁移数据,自动筛选、分类粘贴,批量整理报表。几行代码,几秒钟就能完成人工数小时的工作,助你告别重复劳动,提升职场效率,轻松驾驭复杂数据任务,成为团队里最靓的人!!!

2、语法说明

①跨表数据的复制粘贴

sheet1.Range("B1:B6").Copy

sheet2.range(“B1”).paste

从工作表1复制b1~b6单元格,粘贴到工作表2的b1~b6单元格。


②PasteSpecial 选择性粘贴有参数

sheet1.Range("B1:B6").Copy

sheet2.range(“B1”). PasteSpecial 12

同上实例,但采用了选择性粘贴。参数 12,意思:12 粘贴值合和数字格式

选择性粘贴 pastespecial(),括号里四个参数各有妙用,第一个常用(-4163 只粘贴值:用得最多)

第二个粘贴后运算使用较少、第三个是否将空白单元格粘贴到目的区域,True 则不粘贴,默认为粘贴。第四个转置,True则转置,默认为不转置。实际运用中使用频率并不高。需要的时候再查找并可以了。


③知识延伸 《replace:替换》,数据处理有时碰到带单位的数据,可以使用替换来处理

str="8N.m"

str=replace(str,"N.m","")

④Range.Cut剪切。使用方法与copy相似,不详解


3、实战(制作成绩单)

为了确保期末考试成绩信息安全,落实成绩保密工作要求,避免年级学生成绩交叉泄露,需为每位学生单独制作成绩单。具体任务:在各学生成绩表上方添加科目标题,清晰对应学生信息。效果如下图(代码怎么写?)

Sub 隔行插入标题()

Dim r, n

‘定义两个变量

n = Cells(999, 1).End(xlUp).Row

‘查找A列非空单元格的行号

n = (n - 2) * 2

‘计算全部插入标题后,最后一行的行号

For r = 4 To n Step 2

‘从4开始到n循环,步长2。也就是 4、6、8、10…….

Range(Cells(r,1),Cells(r,5)).Insert (xlShiftDown)

‘插入空白行,insert:插入。(xlShiftDown)括号里参数代表,插入后数据往下移动

Range("a2:e2").Copy Range(Cells(r,1), Cells(r, 5))

‘复制标题行,并粘贴在插入的空白行中

Next

‘返回for继续循环

End Sub


Sub 删除行()

Dim r, n

n = Cells(999, 1).End(xlUp).Row

For r = 4 To n

Range(Cells(r, 1), Cells(r, 5)).Delete

‘delete是删除,用循环的方法准确删除上一程序插入的标题栏

Next

End Sub


(本章完)你还知道复制粘贴的其他问题吗?留言告诉我

不论你是求知若渴的在校学生,还是在职场摸爬滚打多年的上班族,只要怀揣着提升自我的决心,别犹豫,快点赞、关注、收藏!我会始终站在零基础小白的视角,循序渐进,带你一步步踏入VBA的奇妙世界。

原文链接:,转发请注明来源!