我有2个工作表的工作簿.
"Sheet2"有两列:
| A | B |
+---------+---------------+
| code1 | description 1 |
| code2 | Descr 2 |
Run Code Online (Sandbox Code Playgroud)
Sheet1有几列,其中一列(D列)是代码.在这一栏中,我需要一个"投递箱",什么
code
col 进入:A.without additional helper column
Sheet1 可以做到吗?(Excel 2010)
所以,在html中需要一些简单易懂的东西:
<select>
<option value="code1">Description 1</option>
<option value="code2">Descr 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
当用户选择"Descr 2"时,表单获得"code2".
这个问题可能是重复的 - 但我不确定 - 如何: 如何在Excel中创建具有多个列的下拉列表,但唯一的答案是将其指向外部站点,其中解决方案是另一个问题.
添加了截图以获得更精确的说明:
ele*_*lAJ 15
简单! 这是我们要得到的!
仅限3个步骤:
定义要用作查找值的范围
创建下拉列表
粘贴一些代码
Sheet2
像这样设置并将命名范围定义为_descrLookup
:
( Highlight -> Right-Click -> "Define Name..." )
Run Code Online (Sandbox Code Playgroud)
这是一个可选步骤,但它使步骤3的操作变得简单.
Sheet1
,使用数据验证创建下拉列表,并使用您想要在DROPDOWN中显示的值作为源.在这个例子中它是Sheet2 A2:A4
(见上图):
( Data -> Data Validation )
Run Code Online (Sandbox Code Playgroud)
Sheet1
:
( Right-Click the tab Sheet1 -> View Code )
Run Code Online (Sandbox Code Playgroud)
将其粘贴到代码窗口中Sheet1
:
Private Sub Worksheet_Change(ByVal Target As Range)
selectedVal = Target.Value
If Target.Column = 4 Then
selectedNum = Application.VLookup(selectedVal, Worksheets("Sheet2").Range("_descrLookup"), 2, False)
If Not IsError(selectedNum) Then
Target.Value = selectedNum
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
Ric*_*ich 13
听起来像数据验证(允许列表)与VLOOKUP结合将做你想要的.
在表2上设置您的描述/代码列表.使其成为命名范围(有助于避免循环引用问题).
在工作表1的说明列中,使用数据验证来生成引用列表的描述列的下拉列表.在代码列中使用VLOOKUP函数,键入下拉列表值.
=IF(B4="", "", VLOOKUP(B4, FruitList, 2, FALSE))
Run Code Online (Sandbox Code Playgroud)
更新 -
我开始明白你的意思是"没有辅助专栏",但我不确定你能得到你想要的东西.Excel设计的一个事实:你看到的是你得到的,即单元格中显示的值是该单元格的有效值.您不能让单元格显示一个值,但"包含"另一个值.这样的事情在HTML中是"死的简单",但HTML控件不是为了与电子表格中的单元格相同的目的而构建的.它同时是两件事:一个值,以及该值的用户界面表示.电子表格单元格可以包含一种确定值的方法(下拉列表,公式等),但它达到的任何值都将是它显示的值.
Excel具有组合框之类的形式支持,但我相信该值仍然输出到另一个单元格.
通常的方法是使用数据验证来创建下拉列表,并使用VLOOKUP为代码创建单独的列.如果你真的不能有另一列来包含代码那么我不知道该告诉你什么.这取决于数据的消耗方式; 你想要打印输出,还是正在由另一个程序处理的工作表?
更新2
如果您真的不想使用单独的代码列,则可以使用组合框技术,如下所述:
http://www.contextures.com/xlDataVal10.html
这会很复杂.您需要做的是(a)当用户选择D列中的一个单元格时,显示组合框,以及(b)动态调整框的显示项目.这将涉及VBA代码,我不是100%确定它是可能的.这当然不值得努力.
归档时间: |
|
查看次数: |
75009 次 |
最近记录: |