如何使用VBA操控Excel界面?本文讲解操控工作表中一些界面元素的VBA代码。
工作表中的行列
隐藏和取消隐藏行标题
- 不能够分别单独隐藏行标题和列标题,只能同时隐藏或者显示这两个标题。
- 示例代码:
- ‘隐藏和取消隐藏活动窗口中活动工作表的行标题和列标题
- ‘隐藏标题
- ActiveWindow.DisplayHeadings= False
- ‘取消隐藏标题
- ActiveWindow.DisplayHeadings= True
隐藏和取消隐藏工作表行
- 可以使用下列任一VBA语句隐藏活动工作表中的所有行:
- ‘隐藏工作簿的活动工作表中所有行
- ActiveSheet.Rows.Hidden= True
- ActiveSheet.Rows.EntireRow.Hidden= True
- ActiveSheet.Cells.Rows.Hidden= True
- 要隐藏其他工作表中的行,只需使用该工作表代替ActiveSheet,例如使用Sheets(1)代表第1个工作表,或者使用Worksheets(1)代表第1个标准工作表。隐藏所有行后,行标题几乎被隐藏,但列标题仍然在工作表中。
- 要取消隐藏所有行,可以使用下列任一VBA语句:
- ‘取消隐藏工作簿的活动工作表中所有行
- ActiveSheet.Rows.Hidden= False
- ActiveSheet.Rows.EntireRow.Hidden= False
- ActiveSheet.Cells.Rows.Hidden= False
- 下面的示例代码隐藏指定行:
- ‘隐藏指定的行
- ‘仅隐藏第2行
- ActiveSheet.Rows(2).Hidden= True
- ‘隐藏第3行和第4行
- ActiveSheet.Rows(“3:4”).Hidden= True
- ‘隐藏非连续的行
- ActiveSheet.Range(“6:6,8:10,12:13”).EntireRow.Hidden= True
- 上面语句中的逗号是联合操作符,用来组合一系列行。
行高
- 示例代码:
- ‘设置活动工作表所有行的高度
- ActiveSheet.Rows.RowHeight= 15
- ‘设置第2行的高度
- ActiveSheet.Rows(2).RowHeight= 20
- ‘设置第4行至第6行的高度
- ActiveSheet.Rows(“4:6”).RowHeight= 10
- ‘设置非连续行的高度
- ActiveSheet.Range(“8:8,10:12”).RowHeight= 10
- 隐藏行的高度是0。设置隐藏行的高度为非零值将取消隐藏行。
隐藏和取消隐藏工作表列
- 可以使用下列任一VBA语句隐藏活动工作表中的所有列:
- ‘隐藏工作簿的活动工作表中所有列
- ActiveSheet.Columns.Hidden= True
- ActiveSheet.Columns.EntireColumn.Hidden= True
- ActiveSheet.Cells.Columns.Hidden= True
- 要隐藏其他工作表中的列,只需使用该工作表代替ActiveSheet,例如使用WorkSheets(1)代表第1个工作表,或者使用Worksheets(2)代表第2个工作表。隐藏所有列后,列标题几乎被隐藏,但行标题仍然在工作表中。
- 要取消隐藏所有列,可以使用下列任一VBA语句:
- ‘取消隐藏工作簿的活动工作表中所有列
- ActiveSheet.Columns.Hidden= False
- ActiveSheet.Columns.EntireColumn.Hidden= False
- ActiveSheet.Cells.Columns.Hidden= False
- 下面的示例代码隐藏指定列:
- ‘隐藏指定列
- ‘仅隐藏列B
- ActiveSheet.Columns(2).Hidden= True
- ‘隐藏列D和列E
- ActiveSheet.Columns(“D:E”).Hidden= True
- ‘隐藏非连续的列
- ActiveSheet.Range(“G:G,J:K,M:N”).EntireColumn.Hidden= True
- 上面语句中的逗号是联合操作符,用来组合一系列列。
列宽
- 示例代码:
- ‘设置第1个工作表中所有列的宽度
- Worksheets(1).Columns.ColumnWidth= 8
- ‘设置列B的宽度
- Worksheets(1).Columns(2).ColumnWidth= 3
- ‘设置列D至列F的宽度
- Worksheets(1).Columns(“D:F”).ColumnWidth= 2
- ‘设置非连续列的宽度
- Worksheets(1).Range(“G:G,J:K”).ColumnWidth= 4
- 隐藏列的宽度是0。设置隐藏列的宽度为非零值将取消隐藏列。