Public Sub proc_macro() '--------------------------- '输入框 Dim Search_Name As String Search_Name = Application.InputBox("请输入姓名") If Search_Name = "False" Then Exit Sub ElseIf Search_Name = "" Then Exit Sub End If '--------------------------- Dim NumSheetsCount NumSheetsCount = Sheets.count '枚举工作表 For i = 1 To NumSheetsCount Dim SheetRng As Range Set SheetRng = Worksheets(i).Range("A:Z").Find("姓名") name_col = SheetRng.Column name_row = SheetRng.Row Dim name_col_rowcount name_col_rowcount = Application.CountA(Worksheets(i).Columns(name_col)) For j = 1 To name_col_rowcount If Worksheets(i).Cells(j, name_col) = Search_Name Then Worksheets(i).Cells(j, 9) = "已修正" End If Next j Next i End Sub 上个月帮人干的东西(Excel宏),大意是输入一个名字,然后枚举所有工作表,在每一份工作表查找列名为“姓名”的那一列,再查找该列匹配之前输入的名字,找到的话就在该名字所在行的J格写上“已修正”。