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

我已经编程,但我是新的vba,所以请帮助我。

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

它类似于一个下拉菜单。

  1. 例如,我会有预定义的值,如“停止”,“去”,“开始”。
  2. 当用户select单元格并按一次向上箭头键时,单元格的值变为“GO”,再次按箭头键,值变为“STOP”,等等。

谢谢你的帮助!

第1部分

  1. 右键单击您的工作表标签
  2. 查看代码
  3. 复制并粘贴到下面的代码中

此代码告诉Excel仅在此工作表上运行您的箭头向上和向下的macros。 当您离开工作表时,代码将被停用

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)准备好(对于箭头)