一、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
联系客服