Friends,我使用以下代码在我的工作表中查找 NAME 并输入其状态。但是,如果存在重复或相似的名称,则此宏不兼容。朋友们,你能帮我解决这个问题吗?我需要的是我需要这个宏来激活搜索NAME单元格,然后必须出现一个带有"确定"和"下一步"按钮的VB框。如果激活的 NAME 正是我正在搜索的那个,那么我将单击"确定"按钮,然后它应该显示"输入员工状态"框并继续在我的代码中,但是如果我按 NEXT,宏应该搜索下一个类似的 NAME 并激活它,这个过程应该继续,直到我单击"确定"按钮。 (与带有附加状态输入按钮的 CTRL+F 功能相同)
朋友们,请帮助我
Sub Button1848_Click()
Application.ScreenUpdating = False
Dim BeginCol As Long
Dim endCol As Long
Dim ChkRow As Long
Dim rng As Range
Dim c As Variant
BeginCol = 6
endCol = 370
ChkRow = 7
For Colcnt = BeginCol To endCol
If Sheets("Sheet1").Cells(ChkRow, Colcnt).Value = Date Then
Name = InputBox("Enter Employee name")
Cells.Find(What:=Name, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Select
Set rng = Sheets("Sheet1").Cells(ChkRow, Colcnt).Rows("2:500")
For Each c In rng
If Sheets("Sheet1").Cells(c.Row, 2).Value = ActiveCell Then
If c.Value = "" Then
Status = InputBox("Enter Employee Status")
c.Value = Status
End If
End If
Next c
Else
'MsgBox "No Employee in this Name"
End If
Next Colcnt
Application.ScreenUpdating = True
ActiveWorkbook.Save
End Sub
你要找的是创建一个用户表单。您可以通过在Visual Basic编辑器中右键单击VBAProject并选择"插入"->"UserForm"来执行此操作。
将其设计为包含所需的按钮,并将代码添加到按钮。完成后,您可以通过调用 <UserFormName>.Show
来显示它。
最后,您需要将用户窗体的ShowModal
属性设置为 False
。这将允许您在窗体打开时使用工作簿,从而模仿 CTRL+F 对话框的行为。