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的奇妙世界。