2014-01-18 49 views
0

朋友, 我正在使用以下代碼在我的工作表中查找名稱並輸入其狀態。但是,如果存在重複或相似的名稱,則此宏不兼容。朋友你能幫我解決這個問題嗎?我需要的是我需要這個宏激活搜索名稱單元格,然後確定一個VB框& NEXT按鈕必須出現。如果激活的NAME正好是我正在搜索的那個,那麼我將單擊確定按鈕,然後它應該顯示「輸入員工狀態」框並作爲我的代碼中的繼續,但如果按NEXT,宏應搜索下一個類似NAME並激活它,這個過程應該繼續直到我點擊OK按鈕。 (同樣喜歡有附加狀態輸入按鈕CTRL + F功能)修改宏如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

朋友,請求你的幫助,親愛的...請 – Anesh

回答

0

你要尋找的是創建一個用戶窗體。您可以通過在Visual Basic編輯器中右鍵單擊VBAProject並選擇「插入」 - >「用戶窗體」來完成此操作。

將其設計爲包含您需要的按鈕並將代碼添加到按鈕。完成後,您可以撥打<UserFormName>.Show進行顯示。

最後,您需要將UserForm的ShowModal屬性設置爲False。這將允許您在窗體打開時使用工作簿,從而模仿CTRL + F對話框的行爲。

+0

優秀爵士。它的作品!非常感謝先生。 :-) – Anesh

+0

好聽!請標記爲答案:-) – DanL