友 我使用以下代码在工作表中查找NAME并输入其状态。但如果存在重复或类似名称,则此宏不兼容。朋友们能帮助我解决这个问题。我需要的是我需要这个宏来激活搜索NAME Cell,然后使用OK& amp;必须出现“下一步”按钮。如果激活的NAME正是我正在搜索的那个,那么我将点击OK按钮然后它应该显示“输入员工状态”框并在我的代码中继续,但是如果我按下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
答案 0 :(得分:0)
您正在寻找的是创建一个UserForm。您可以通过在Visual Basic编辑器中右键单击VBAProject并选择“插入” - >来完成此操作。 “用户窗体”。
设计它以包含您需要的按钮并将代码添加到按钮。完成后,您可以通过调用<UserFormName>.Show
来显示它。
最后,您需要将UserForm的ShowModal
属性设置为False
。这将允许您在窗体打开时使用工作簿,从而模仿CTRL + F对话框的行为。