美烦资源网

专注技术文章分享,涵盖编程教程、IT 资源与前沿资讯

Excel自动化神器:5个完整VBA代码助你效率翻倍

1 数据清洗机器人(含空行处理)

Sub 数据清洗()

' 功能:三合一清洗(删空行/去重/日期标准化)

Columns("A:D").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes

On Error Resume Next

' 删除空行(A列空白即整行删除)

Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

' 强制C列转为日期格式

Columns("C").TextToColumns Destination:=Range("C1"), DataType:=xlFixedWidth, FieldInfo:=Array(0, xlYMDFormat)

MsgBox "已清洗" & [COUNTA(A:A)-1] & "条有效数据!"

End Sub

2 智能报告生成器(带邮件发送)

Sub 生成日报()

' 需引用Microsoft Outlook库

Dim OutlookApp As Object, Mail As Object

Set OutlookApp = CreateObject("Outlook.Application")

Set Mail = OutlookApp.CreateItem(0)


' 生成PDF

Sheets("总表").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\日报.pdf"


' 自动发送邮件

With Mail

.To = "qa@company.com"

.Subject = Format(Now(), "yyyy-mm-dd") & "质量日报"

.Body = "附件为自动生成报告,数据截止" & [A1]

.Attachments.Add ThisWorkbook.Path & "\日报.pdf"

.Send

End With

MsgBox "报告已发送至QA部门!"

End Sub

3 格式规范突击队

Sub 格式标准化()

' 全表三标统一(字体/边框/列宽)

With ActiveSheet.UsedRange

.Font.Name = "微软雅黑"

.Borders.LineStyle = xlContinuous

.Columns.AutoFit

' 错误单元格标黄

.SpecialCells(xlCellTypeFormulas, xlErrors).Interior.Color = vbYellow

End With

' 智能冻结首行

ActiveWindow.FreezePanes = False

Rows("2:2").Select

ActiveWindow.FreezePanes = True

End Sub

4 邮件提醒小秘书(增强版)

Sub 质量预警()

' 遍历BOM表检查逾期项

Dim lastRow As Long, i As Long

lastRow = Cells(Rows.Count, 5).End(xlUp).Row


For i = 2 To lastRow

If Cells(i, 5).Value < Now() Then

' 逾期项红色背景+批注

Cells(i, 5).Interior.Color = RGB(255, 200, 200)

If Cells(i, 5).Comment Is Nothing Then

Cells(i, 5).AddComment "已逾期" & Format(Now() - Cells(i,5).Value, "0天")

End If

' 汇总提醒

MsgBox Cells(i, 1) & " 物料检验逾期!", vbExclamation

End If

Next i

End Sub

5 数据分析透视王

Sub 智能透视()

' 动态创建透视表+柱状图

Dim pvtCache As PivotCache

Dim pvtTable As PivotTable


Set pvtCache = ActiveWorkbook.PivotCaches.Create( _

SourceType:=xlDatabase, _

SourceData:=Sheets("数据源").Range("A1").CurrentRegion)


Set pvtTable = pvtCache.CreatePivotTable( _

TableDestination:=Sheets.Add(After:=Sheets(Sheets.Count)).Range("A3"), _

TableName:="质量分析")


' 配置字段

With pvtTable

.AddDataField .PivotFields("不良数量"), "合计", xlSum

.RowGrand = False

.PivotFields("产线").Orientation = xlRowField

.PivotFields("缺陷类型").Orientation = xlColumnField

End With


' 生成可视化图表

ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Top = 100

End Sub

代码使用说明:

  1. 按Alt+F11打开VBA编辑器
  2. 右键插入新模块粘贴代码
  3. 按F5运行或绑定到按钮

感谢读者私信,如有其它功能需要的留言提出~

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言