2.4.1. Excel VBA中基本的名词和概念

此处介绍一些Excel中的最基本的概念,搞清楚这些概念,是继续深入学习Excel的基础。

Excel中,我们已经知道的是,从概念上来说,从大到小是:

Excel文件 ⇒ Excel文件中页表sheet ⇒ sheet中的行和列 ⇒ 行列交叉点所对应的单元格

这些名词和概念,对应到Excel VBA中就是:

Workbook ⇒ Worksheet ⇒ Column, Row ⇒ Cell

并且,每个概念,都对应着一个该单词的复数形式,表示的是对应的一组的该单位,

如:Workbooks表示一组,很多个当前已经打开的Excel文件等。

下面稍微详细地介绍一下各自的含义和用法。

  1. Workbook

    workbook属于workbooks,workbooks是当前打开的所有的workbook的集合(总称)。

    对于想要获得单个的workbook,有这些方式:

    • Workbooks.Item(N)
    • Workbooks(N)
    • Workbooks("excel_file_name.xlsx")

    Workbook所具有的一些常见函数有:

    • Workbook.Open
    • Workbook.Add
    • Workbook.Save
    • Workbook.SaveAs

    对于其更多的函数和属性,细心的人,自然会想到利用前面提到的自学方法,去更加详细的学习了解的。以后对此类提示,就不再多提醒了。

  2. Worksheet

    worksheet即我们常说的Excel中sheet。

    worksheet属于worksheets。

    Excel软件,创建一个Excel文件的时候,默认会自动创建3个sheet,对应的就是该workbook的worksheets,包含了3个worksheet。

    对应获得当前的worksheet的方式:

    • Workbooks.Item(1).Sheets.Item(N)
    • Workbooks.Item(1).Sheets.Item("sheet_name")
  3. Column

    对应的概念很好理解,不多解释。

    对应每个列,都有一个自己的名字,比如第三列,名字一般是"C"。

    获得第三列的方式有:

    • Columns(3)
    • Columns("C")

    获得3到5列,可以:

    • Columns("C:E")
    • Range("C:E")

    选中1, 5,7,8,9列:

    Range("A:A, E:E, G:G, H:H,I:I").Select

    设置宽度:

    Columns("C").ColumnWidth = 4.5

    大小自动适应:

    Selection.Columns.AutoFit

    隐藏显示某列用对应的:

    Columns("C").hidden=True
  4. Row

    行的操作,非常类似于列的操作:

    选中2到6行:

    Rows("2:6").Select

    选中第一行:

    Rows(1).Select

    选中5,7,8行:

    Range("5:5, 7:7,8:8").Select

    设置行高:

    Rows(6).RowHeight = 2.5

    选中某6行,将其隐藏:

    Rows("6:6").Select
    Selection.EntireRow.Hidden = True
                        

    [提示]可以通过行Row或列Column的名称来操作行或列

    另外,如果单独对于某列,比如第三列,默认名字,是"C",可以同选中该列,鼠标移动到左上角那个输入框中,鼠标会自动显示"Name Box",此时你可以在里面输入你想要的名字,比如"Col3",然后接下来的所有的对第三列的操作和引用,之前是通过Columns("C")来获得的,现在就可以通过

    Columns("Col3")

    来操作了。

    即Columns("XXX")中的XXX是对应的列的名字。

    对于行的操作,也是同样适用的。

    即可以先去对某行去命名,然后就可以通过对该名字来引用到该行了。

  5. Cell

    行和列交叉点,对应的就是单元格cell。

    下面是各种操作:

    第四列第六行:

    Range("D6")

    设置单元格的一些属性:

    Range("B3″).Font.Name = "Cambria" ‘也可以设置为宋体,微软雅黑
    Range("B3″).Font.Bold = True
                        

    选中从D2到H6的整块的单元格:

    Range("B2:H6")

    用同样的方式去选中某个单个的单元格:

    Range("D4:D4")

    选中两块单元格:

    Range("B2:C5,EC4:G8").Select

    选中部分重叠的两块单元格:

    Range("B2:C5, C4:G8").Select

    取消显示网格线:

    ActiveWindow.DisplayGridlines = False