2011-10-06 86 views
1

我已經編程過,但我是的新手,所以請幫助我。使用箭頭鍵導航單元格中的定義值

我想讓用戶在工作表中選擇一個單元格(列中的任何單元格),然後他/她應該能夠按「向上」或「向下」箭頭鍵來瀏覽值。

它類似於一個下拉菜單。

  1. 例如,我會有預定義的值,如「停止」,「去」,「開始」。
  2. 當用戶選擇單元格並按一次向上箭頭鍵時,單元格的值變爲「GO」,再次按箭頭鍵,值變爲「STOP」,依此類推......

謝謝你的幫助!

+0

它是否必須是上/下箭頭?您可以使用數據驗證規則創建數據選擇框(添加您想要的選項的列表)。這樣他們可以點擊單元格,並且會出現一個選項列表供他們選擇。 – aevanko

回答

3

第1部分

  1. 右鍵單擊工作表標籤
  2. 查看代碼
  3. 複製並粘貼下面的代碼

這段代碼告訴Excel中運行您的箭頭向上和向下的宏只有在表。當你離開片

Private Sub Worksheet_Activate() 
    Application.OnKey "{UP}", "UpOne" 
    Application.OnKey "{DOWN}", "DownOne" 
End Sub 

Private Sub Worksheet_Deactivate() 
    Application.OnKey "{UP}" 
    Application.OnKey "{DOWN}" 
End Sub 

第2部分

  1. 按ALT & F11一起去Visual Basic編輯器
  2. 插入模塊
  3. 代碼複製並粘貼下面的代碼被停用
  4. 按ALt & F11回到excel

    Sub UpOne() 
         Select Case ActiveCell.Value 
         Case "" 
          ActiveCell.Value = "Ready" 
         Case "Ready" 
          ActiveCell.Value = "Set" 
         Case "Set" 
          ActiveCell.Value = "Go" 
         End Select 
        End Sub 
    
    
    Sub DownOne() 
        Select Case ActiveCell.Value 
        Case "" 
         ActiveCell.Value = "Go" 
        Case "Go" 
         ActiveCell.Value = "Set" 
        Case "Set" 
         ActiveCell.Value = "Ready" 
        End Select 
    End Sub 
    

你的代碼將現在週期從

爲空白(空) - 1)準備好 - 2)集 - 3)去(爲向上箭頭)

爲空白(空) - 1)去 - 2)設置 - 3)準備好(用於降低箭頭)

+0

+1不錯的代碼和很好的解釋! – aevanko

+0

謝謝佈雷特!那正是我想要的!我需要添加的唯一代碼是在循環訪問值之前先單擊單元格。 – serge2487

+0

這是我添加的'Private Sub Worksheet_AfterLeftClick() Application.OnKey「{UP}」,「UpOn​​e」 Application.OnKey「{DOWN}」,「DownOne」 End Sub' – serge2487