ExcelVba基本操作,执行重复的复制粘贴

Excel的VBA基本操作

使用VBA之前

我使用的office版本为microsoft office 365。

首先需要在office软件里启用宏功能。

依次:选项——>信任中心——>信任中心设置——>宏设置——>启用VBA宏

完成以上步骤,点击确定过后,退出选项设置,就能在office软件里使用VBA宏了。

基本使用语法

  1. 每个vba程序都要包裹在“头”和“尾”之间,头是

    Sub <你的函数名称>
    

​ 尾是

End Sub
  1. 选中表格

    Sheets("Sheet1").Select
    
  2. 选中行、列、单元格

    '选中行
    Rows("A:A").Select
    '选中列
    Columns("A:A").Select
    '选中单元格
    Range("A1").Select
    '表示从这个单元格到另一个单元格之间的区域
    '选中行5列1至行12列2这片区域
    Range(Cells(5, 1), Cells(12, 2)).Select
    
    
  3. 执行复制、粘贴动作

    '复制,在有选中动作之后可执行
    '粘贴,在选中的区域内进行
    ActiveSheet.Paste
    
  4. 把单元格内的内容赋值给数组,能有效地提高运行速度

    'arr1、arr2等都被赋值为数组
    Dim arr As Variant
    arr = [A1:A4]
    
    '把数组内的内容赋格给单元格
    Range("B1:B3") = arr '把所有值都付给选中的单元格
    Range("B1:B3") = arr(2,1) ’把其中一个值赋值给单元格
    
  5. 变量

    比如,我们可以把当前选中单元格的行号和列好存储为一个变量,然后在后续的代码中调用。

    RowNum = Selection.Row
    ColNum = Selection.Column
    
  6. FOR循环

    '执行一百次操作,把数组中的值粘贴到单元格中
    For i = 1 To 100 Step 1
    Range(Cells(RowNum + 4 * ( i - 1 ) , Cells(RowNum + 4 * i, 2)) = arr
    Next
    

执行重复的复制粘贴工作

有了以上的基本语法,基本上就能执行很多复制粘贴工作了。

Sub 宏1()

    Dim arr As Variant
    arr = [A1:A4]
    Range(Cells(1, 2), Cells(4, 2)) = arr
    RowsNum = Selection.Row
    For i = 1 To 100 Step 1
        Range(Cells((RowsNum + 4 * (i - 1)), 2), Cells((4 * i), 2)) = arr
    Next
End Sub
    原文作者:LOG1444
    原文地址: https://blog.csdn.net/weixin_43404412/article/details/121570503
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞