如何用Excel VBA仅对设备系列首次出现条目设置加粗格式
实现Excel中设备系列首次出现条目加粗的VBA方案
完全可以通过VBA脚本实现这个需求,以下是具体的代码和使用说明:
VBA代码
Sub BoldFirstOccurrence() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim deviceSeries As String Dim seenSeries As Object ' 设置要处理的工作表,默认当前激活表,可按需修改 Set ws = ActiveSheet ' 获取设备系列列的最后一行(默认A列,可改对应列标) lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 创建字典存储已处理过的设备系列 Set seenSeries = CreateObject("Scripting.Dictionary") ' 遍历数据行(默认表头在第1行,从第2行开始处理) For i = 2 To lastRow deviceSeries = Trim(ws.Cells(i, "A").Value) ' 若该系列未被记录过,则加粗并标记已处理 If Not seenSeries.Exists(deviceSeries) Then ws.Cells(i, "A").Font.Bold = True seenSeries.Add deviceSeries, True End If Next i Set seenSeries = Nothing Set ws = Nothing MsgBox "处理完成!" End Sub
代码调整说明
- 列与工作表修改:如果设备系列不在A列,把代码中的
"A"替换为对应列标(比如"B");要指定固定工作表,将ActiveSheet改为ThisWorkbook.Worksheets("你的工作表名称")。 - 起始行修改:如果数据表头不在第1行,调整
For i = 2 To lastRow中的起始数字(比如表头在第3行就改成i = 4)。
使用步骤
- 打开你的设备清单Excel文件。
- 按下
Alt + F11打开VBA编辑器。 - 右键左侧工作簿名称,选择「插入」→「模块」。
- 将代码粘贴到模块窗口中。
- 按下
F5运行代码,或回到Excel界面通过「开发工具」→「宏」选择BoldFirstOccurrence执行。
内容的提问来源于stack exchange,提问作者HR-32091-24
相关产品推荐
相关产品推荐

