如果选择了下拉值,请向右侧的单元格添加格式和值

时间:2014-06-29 23:24:16

标签: excel vba excel-vba excel-2010

好的,我正在制作一张工作表,用户可以从下拉列表中选择一个值,然后根据选择需要查看所需的参数。

示例:

如果我从下拉列表中选择X,那么将创建三个新的输入字段并将其格式化为输入单元格,并将参数作为默认值(因此黄橙色输入格式的默认文本说明参数是什么 - 如启动日期为1,然后是下一个结束日期)

我的开始:

Sub test()
If ActiveCell = "setEnrollnet" Then
   ActiveCell.Offset(0, 1) = startDate
   ActiveCell.Offset(1).EntireRow.Insert
   ActiveCell.Offset(1, 1) = 0
   ActiveCell.Offset(0, 2) = endDate
   ActiveCell.Offset(1).EntireRow.Insert
   ActiveCell.Offset(1, 2) = 0

End If
End Sub

这不能正常工作,也不适用格式化。我需要帮助找出如何进行格式化并根据另一个单元格中的选择输入正确的文本。

1 个答案:

答案 0 :(得分:0)

我建议 - 对于下拉列表中的每个值,您可以在单独的工作表中定义输入字段,以及字段标签和格式。从drodown中选择后,扫描参数表并将为该参数列出的内容复制到输入表中。

示例(名为InputParams的范围):

ParamVal    InputLabel     InputField
X           StartDate      (empty but formatted)
X           EndDate        (empty but formatted)
Y           Foo            default_Foo
Y           Bar            default_Bar

从下拉列表中选择“X”后,您将浏览InputParams并且, If InputParams(Idx, 1) = DropDownValue Then将单元格InputParams(Index,2)InputParams(Index,3)复制到您的输入范围 - 默认情况下,格式会与内容一起复制。

还希望为Input定义一个命名范围,使其具有预期的最大参数大小,以便在遍历InputParams列表时重新填充此范围之前,可以使用一个语句清除内容和格式。