zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Oracle Dataguard原理
    [转]TOKUDB® VS. INNODB FLASH MEMORY
    [转]什么是简约设计
    [转]DAS、NAS、SAN存储系统分析
    [转]ocp|ocm考证系列文章!
    [转]数据库范式的设计
    Block Media Recovery, BMR
    [转]开启闪回以及闪回的四种原理
    [转]Oracle DB 执行表空间时间点恢复
    Losing All Members of an Online Redo Log Group
  • 原文地址:https://www.cnblogs.com/liubei/p/basicOfVBA01.html
Copyright © 2011-2022 走看看