• VBA基础之Excel VBA 表格的操作(一)


    一、Excel VBA 表格的操作
    1. Excel表格的指定以及表格属性的设置

    Sub main()
        '把表格B2的值改为"VBA Range和Cells函数"
        Range("B2").Value = "VBA Range和Cells函数"
     
        '把D4:E6范围内的每一个表格的值都改为"Excel VBA"
        Range("D4:E5").Value = "Excel VBA"
    End Sub
    
    Sub main()
        Cells(2, 2).Value = "VBA Range和Cells函数"
        Cells(4, 4).Value = "Excel VBA"
        Cells(4, 5).Value = "Excel VBA"
        Cells(5, 4).Value = "Excel VBA"
        Cells(5, 5).Value = "Excel VBA"
    End Sub
    
    Sub main()
        'Worksheets("工作表名称").Activate
        Worksheets("Sheet2").Activate
    End Sub
    
    Sub main()
        Worksheets("Sheet2").Activate
        Worksheets("Sheet2").Range("D4").Value = "Excel VBA"
        Worksheets("Sheet2").Cells(5, 5).Value = "Excel VBA"
    End Sub
    
    Sub main()
        Worksheets("Sheet2").Activate
     
        '修改表格的值
        Worksheets("Sheet2").Range("D4").Value = "Excel VBA"
     
        '修改表格的宽度
        Worksheets("Sheet2").Range("D4").ColumnWidth = 20
     
        '修改表格的高度
        Worksheets("Sheet2").Range("D4").RowHeight = 30
     
        '修改表格的文字颜色为红色
        Worksheets("Sheet2").Range("D4").Font.ColorIndex = 3
     
        '修改表格的背景颜色为绿色
        Worksheets("Sheet2").Range("D4").Interior.ColorIndex = 4
    End Sub
    
    
    Sub main()
        Worksheets("Sheet2").Activate
     
        '修改表格的值
        Worksheets("Sheet2").Range("D4").Value = "Excel VBA"
     
        '修改表格的宽度
        Worksheets("Sheet2").Range("D4").ColumnWidth = 20
     
        '修改表格的高度
        Worksheets("Sheet2").Range("D4").RowHeight = 30
     
        '修改表格的文字颜色为红色
        Worksheets("Sheet2").Range("D4").Font.ColorIndex = 3
     
        '修改表格的背景颜色为绿色
        Worksheets("Sheet2").Range("D4").Interior.ColorIndex = 4
    End Sub
    
    ‘功能同上
    Sub main()
        With Worksheets("Sheet2")
            .Activate
            .Range("D4").Value = "Excel VBA"
            .Range("D4").ColumnWidth = 20
            .Range("D4").RowHeight = 30
            .Range("D4").Font.ColorIndex = 3
            .Range("D4").Interior.ColorIndex = 4
        End With
    End Sub
    
    ‘功能同上
    Sub main()
        With Worksheets("Sheet2")
            .Activate
            With .Range("D4")
                .Value = "Excel VBA"
                .ColumnWidth = 20
                .RowHeight = 30
                .Font.ColorIndex = 3
                .Interior.ColorIndex = 4
            End With
        End With
    End Sub

    2. Excel表格范围的指定

    'Rang params
    Sub main()
        Range("A3:D5").Value = "Excel VBA入门"
        '或者
        Range("A3", "D5").Value = "Excel VBA入门"
    End Sub
    
    'Cells params
    Sub main()
        Range(Cells(3, 1), Cells(5, 4)).Value = "Excel VBA入门"
    End Sub

    3. Excel行的选择

    Sub setRowValueAndBgColor()
        Range("B2:D3").EntireRow.Value = "Excel VBA"
        Range("B2:D3").EntireRow.Interior.ThemeColor = 5
    End Sub
    
    Sub setRowValueAndBgColor()
        Range(Cells(2, 2), Cells(3, 4)).EntireRow.Value = "Excel VBA"
        Range(Cells(2, 2), Cells(3, 4)).EntireRow.Interior.ThemeColor = 5
    End Sub
    
    Sub hideRowAndSetRowValue()
        Range("A2").EntireRow.Hidden = True
        Range("A4").EntireRow.Value = "Excel VBA"
    End Sub

    4. Excel列的选择

    Sub setColumnValueAndBgColor()
        Range("B2:D3").EntireColumn.Value = "Excel VBA"
        Range("B2:D3").EntireColumn.Interior.ThemeColor = 5
    End Sub
    
    Sub setColumnValueAndBgColor()
        Range(Cells(2, 2), Cells(3, 4)).EntireColumn.Value = "Excel VBA"
        Range(Cells(2, 2), Cells(3, 4)).EntireColumn.Interior.ThemeColor = 5
    End Sub

      Sub hideColumnAndSetRowValue()
        Range("A2").EntireColumn.Hidden = True
        Range("A4").EntireColumn.Value = "Excel VBA"
      End Sub

    5. Excel表格的删除

    方法名参数常量说明
    Delete Shift xlShiftToLeft 向左移动
    xlShiftUp 向上移动
    '表格的删除
    Sub deleteCells()
        '删除当前工作表的表格范围B1-D3(行数等于列数,剩余表格向上移动)
        Range(Cells(1, 2), Cells(3, 4)).Delete
    End Sub
     
    Sub deleteCells()
        '删除当前工作表的表格范围C1-D2(行数大于列数,剩余表格向左移动)
        Range("C1:D2").Delete
    End Sub
    
    '行和列的删除
    Sub deleteRow()
        '剩余表格整体向上移动
        Range(Cells(1, 2), Cells(3, 4)).EntireRow.Delete
    End Sub
     
    Sub deleteColumn()
        '剩余表格整体向左移动
        Range(Cells(1, 2), Cells(3, 4)).EntireColumn.Delete
    End Sub

    6. Excel表格内容的清除

    方法说明
    ClearContents 清除表格内容
    ClearFormats 清除表格格式
    ClearComments 清除表格注释
    ClearOutline 清除表格组合
    Clear 清除所有(内容、格式、注释、组合)
    Sub clearCells()
        '清除当前工作表B1-D3范围表格的所有设置
        Range(Cells(1, 2), Cells(3, 4)).Clear
    End Sub
     
    Sub clearCellContents()
        '清除当前工作表A1-D4范围表格的内容(表格的其余设置不发生改变)
        Range("A1:D4").ClearContents
    End Sub
     
    Sub clearCellComments()
        '清除Sheet2工作表所有表格的注释
        Worksheets("Sheet2").Cells.ClearComments
    End Sub
     
    Sub clearCellFormat()
        '清除当前工作表A1-D4表格的格式
        Range("A1:D4").ClearFormats
    End Sub
     
    Sub clearCellOutline()
        '当前工作表的所有组合
        Cells.ClearOutline
    End Sub

    7. Excel表格的插入

    方法名参数常量说明
    Insert Shift xlShiftToLeft 向左移动
    xlShiftUp 向上移动


    8. Excel表格的拷贝和粘贴

    方法名参数说明
    Copy Destination 指定粘贴位置的Range对象
    Sub copyCells()
        '把B1-D3拷贝到F5-H7
        Range(Cells(1, 2), Cells(3, 4)).Copy Destination:=Cells(5, 6)
    End Sub
     
    Sub copyCells()
        '把B1-D3拷贝到F5-H7
        Range("B1:D3").Copy Destination:=Range("F5")
    End Sub
     
    Sub copyCells()
        '把当前工作表的B1-D3拷贝到F5-H7
        ActiveSheet.Range("B1:D3").Copy Destination:=Range("F5")
    End Sub
     
    Sub copyCells()
        '把工作表Sheet1的B1-D3拷贝到工作表Sheet2的F5-H7
        Worksheets("Sheet1").Range("B1:D3").Copy Destination:=Worksheets("Sheet2").Range("F5")
    End Sub

    9. Excel表格的剪切和粘贴

    方法名参数说明
    Cut Destination 指定粘贴位置的Range对象
    Sub copyCells()
        '把B1-D3剪切到F5-H7
        Range(Cells(1, 2), Cells(3, 4)).Cut Destination:=Cells(5, 6)
    End Sub
     
    Sub copyCells()
        '把B1-D3剪切到F5-H7
        Range("B1:D3").Cut Destination:=Range("F5")
    End Sub
     
    Sub copyCells()
        '把当前工作表的B1-D3剪切到F5-H7
        ActiveSheet.Range("B1:D3").Cut Destination:=Range("F5")
    End Sub
     
    Sub copyCells()
        '把工作表Sheet1的B1-D3剪切到工作表Sheet2的F5-H7
        Worksheets("Sheet1").Range("B1:D3").Cut Destination:=Worksheets("Sheet2").Range("F5")
    End Sub

    10. VBA单元格数据有效性设置

    Sub addValidation()
        With Range("A1:A20").Validation
            .Delete ' 删除现在的有效数据设置
            ' 设置新的有效数据数据(男,或者女)
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="男,女"
            .InCellDropdown = True ' 显示下拉框
            .ShowError = True ' 提示输入错误
            .IgnoreBlank = True ' 空白可
        End With
    End Sub
    
    Sub addValidation()
        With Range("B2").Validation
            .Delete ' 删除现在的有效数据设置
            ' 设置新的有效数据数据(18-60之内的数字)
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="18", Formula2:="60"
            .InCellDropdown = False ' 隐藏下拉框
            .ShowError = True ' 提示输入错误
            .IgnoreBlank = True ' 空白可
        End With
    End Sub
  • 相关阅读:
    mysql: 多时区的聚合统计
    机器学习实例---3.2、朴素贝叶斯之新浪新闻分类
    机器学习实例---3.1、朴素贝叶斯基础
    机器学习实例---2.1、决策树(实战)
    python的pickle模块
    机器学习实例---2.1、决策树(介绍)
    如何计算熵
    sklearn库简单介绍
    机器学习实例---1.3、k-近邻算法(数字识别)
    理解ThreadPoolExecutor线程池的corePoolSize、maximumPoolSize和poolSize
  • 原文地址:https://www.cnblogs.com/liubei/p/basicOfVBA01.html
Copyright © 2020-2023  润新知