VBA(Visual Basic for Applications)常用代码实战大全
在Microsoft Excel和Word等Office应用程序中,VBA是一种非常强大的工具,允许用户编写自定义的宏来自动化任务、创建数据处理逻辑以及实现更复杂的功能,本文将介绍一些常用的VBA代码片段,帮助您快速上手并提高工作效率。
打开或关闭Excel窗口
Sub OpenWindow()
Application.DisplayAlerts = False ' 防止自动保存警告
Application.Visible = True ' 显示工作表
End Sub
Sub CloseWindow()
Application.DisplayAlerts = False ' 防止自动保存警告
Application.Quit ' 关闭Excel
End Sub
获取单元格值
Sub GetCellValue()
Dim cell As Range
Set cell = ActiveCell ' 获取当前活动单元格
MsgBox "Value: " & cell.Value
End Sub
插入或删除行
Sub InsertRowAbove()
Selection.Row = Selection.Row - 1
End Sub
Sub DeleteRowBelow()
Selection.Rows.Count > 1 And Selection.Cells(Selection.Rows.Count, 1).EntireRow.Delete
End Sub
复制和粘贴
Sub CopyAndPasteRange()
Dim rng As Range
Set rng = ActiveSheet.Range("A1:B5") ' 设置要复制的范围
rng.Copy ' 复制选定区域
ActiveSheet.PasteSpecial Format:=xlFormatFromSourceColumn A1:C5 ' 粘贴到同一工作表中的不同位置
End Sub
设置单元格格式
Sub SetCellStyle()
With ActiveCell
.Font.Bold = True ' 加粗字体
.Font.Size = 12 ' 字体大小为12磅
.Interior.Color = RGB(255, 0, 0) ' 设置单元格背景色为红色
End With
End Sub
条件格式化
Sub HighlightLowValues()
With ActiveSheet
.Cells.SpecialCells(xlCellTypeLowContet).Font.ColorIndex = 3 ' 设置颜色
.Cells.SpecialCells(xlCellTypeLowContet).Interior.Color = vbYellow ' 设置填充颜色
End With
End Sub
筛选数据
Sub FilterData()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.AutoFilterMode = False
ws.Range("A1").AutoFilter Field:=1, Criteria1:="*" ' 自动筛选数据
End Sub
排序数据
Sub SortDataAscending()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Sort.SortFields.Clear ' 清空排序字段
ws.Sort.SortFields.Add Key:=ws.Columns(1), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
ws.Sort.SetRange Area:=ws.Range(ws.Columns(1), ws.Columns(1))
ws.Sort.Apply
End Sub
这些基本示例展示了如何使用VBA进行各种常见的操作,通过实践和学习更多高级功能,您可以进一步提升自己的编程技能,并创造出更加复杂且高效的工作流程,无论是在Excel还是Word中,掌握VBA都将是您的得力助手。

上一篇