选项卡从单元格到组合框,从单元格到单元格

时间:2018-10-26 12:54:37

标签: excel vba

我在Excel中制作了一个文档,希望用户在其中的Tab键中浏览单元格和组合框以填写。

如果我可以使用数据验证,但是该解决方案不允许自动填充,那么该解决方案将很容易。

我想出了如何从组合框切换到组合框

Private Sub CBO0_KeyDown(ByVal Keycode As MSForms.ReturnInteger, ByVal shift As Integer)
If Keycode = 9 Then
    CBO1.Activate
End If
End Sub

我还想出了如何从组合框切换到单元格。

Private Sub CBO1_KeyDown(ByVal Keycode As MSForms.ReturnInteger, ByVal shift As Integer)
If Keycode = 9 Then
    Range("D10").Activate
End If
End Sub

剩下的是

  • 单元格到组合框
  • 单元到单元

我需要在VBA中使用“单元到单元”解决方案,因为Excel中的解决方案在组合框和单元之间不起作用。

要了解Tab顺序,

  • 组合框
  • 组合框
  • 单元格
  • 单元格(向下排列)
  • 单元格(向下排列)
  • 组合框
  • 单元格
  • 单元格(向下排列)
  • 单元格(向下排列) 重复

我无法更改订单,否则整个表格将无法正常工作。

1 个答案:

答案 0 :(得分:1)

我假设这些是工作表上的activeX组合框。使用worksheet_change事件,将更改A1和combobox1激活,将更改combobox1和B1选择,将更改B1和Combobox2激活。

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$A$1" Then Me.ComboBox1.DropDown
    If Target.Address = "$B$1" Then Me.ComboBox2.DropDown

End Sub

Private Sub ComboBox1_Click()
    Me.Range("B1").Select

End Sub

Private Sub ComboBox2_Click()
    Me.Range("C1").Select

End Sub