在excel中用vba定义输入建议

时间:2015-12-27 00:06:26

标签: excel vba

我不确定如何说出来,但我会尝试描述这个问题。

我正在构建一个简单的Excel电子表格来跟踪我的支出。我输入的每个成本需要归类为一个类别。我有大约20个不同的类别,忘了它们是什么。

当我在电子表格的特定列中选择一个单元格时,我想编写一个连续的建议提示,而不是向上滚动。我想能够读出关于输入哪个类别(手动)的建议。

看到没有太复杂的东西,我只是对vba语法以及如何表达问题知之甚少。我想我需要一个连续运行的子?再次不确定那叫什么。

感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用简单的用户窗体来选择并将数据选择解析为您单击的行。

首先在您希望弹出提醒的列中单击时使用事件。在这种情况下,我选择" D"。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim arr
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
      Application.EnableEvents = 0
          UserForm1.Show
          Target = a
      Application.EnableEvents = 1
    End If
End Sub

然后使用提醒数据加载用户表单,并从userform组合框中选择所需的提醒数据。

Private Sub UserForm_Initialize()
  Dim arr
    arr = Array("Unit1", "Unit2", "Unit3", "Unit4", "Unit5", "Unit6", _
                     "Unit7", "Unit8", "Unit9", "Unit10", "Unit11", "Unit12", _
                        "Unit13", "Unit14", "Unit15", "Unit16", "Unit17", "Unit18", _
                          "Unit19", "Unit20")
        Me.ComboBox1.List = arr
End Sub
Private Sub ComboBox1_Change()
     a = ComboBox1.Value
     Unload Me
End Sub

您需要在标准模块中放置一个公共变量来存储您要粘贴在工作表中的数据。

Public a As String

请务必更改任何控件名称以适合您。