使用箭头键在单元格中导航定义的值

时间:2011-10-06 06:07:14

标签: excel excel-vba vba

我之前编程但是我是的新手所以请帮助我。

我希望用户在工作表中选择一个单元格(列中的任何单元格),然后他/她应该能够按“向上”或“向下”箭头键来浏览值。

它类似于下拉菜单。

  1. 例如,我会有预定义的值,例如“STOP”,“GO”,“START”。
  2. 当用户选择单元格并按下向上箭头键一次时,单元格的值变为“GO”,再次按箭头键,值变为“STOP”,依此类推...... / LI>

    谢谢你的任何帮助!

1 个答案:

答案 0 :(得分:3)

第1部分

  1. 右键单击工作表标签
  2. 查看代码
  3. 复制并粘贴以下代码
  4. 此代码告诉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
      
    5. 您的代码现在将从

      循环

      空白(如果为空) - 1)准备好 - 2)设置 - 3)转到(向上箭头)

      空白(如果为空) - 1)去 - 2)设置 - 3)准备好(对于DownArrow)