我在Sheet1中有一系列重复日期!$ A:$ A.这些我作为唯一项添加到组合框(cb)与VBA。不幸的是,当我选择一个项目(cb中的日期)时,项目的索引将返回到链接的单元格中。 有没有办法返回日期而不是索引,或者将cb填充为项目对(日期,日期)?
A B C ____D_________ 1 date val1 val2 |03/09/2015 |V | 2 03/08/2015 13 2.4 |__|_| 3 03/08/2015 17 4.6 4 03/08/2015 11 2.5 5 03/09/2015 9 1.5 6 03/10/2015 4 3.2 7 03/10/2015 12 3.4
在上面的示例中,我的cb将在D1中返回2(这是底层的链接单元格),但我希望返回日期。有没有"简单"如何实现这个目标?
这似乎不起作用:
With wsSheet2.Shapes("DatePick").ControlFormat
.RemoveAllItems
For Each vaItem In ncData
.AddItem vaItem, vaItem '<--- add an item pair
Next vaItem
End With
由于
答案 0 :(得分:0)
您可以将格式控制选项中的“单元格链接”更改为D1
,然后在单元格D2
中更改:
=INDEX($A:$A,D1+1)
答案 1 :(得分:0)
试试这个:
Sub TransferValue()
Dim dd As DropDown, linkedcell As String
linkedcell = Sheet1.Shapes("Drop Down 1").ControlFormat.linkedcell
Set dd = Sheet1.Shapes("Drop Down 1").OLEFormat.Object
Sheet1.Range(linkedcell) = dd.List(dd.Value)
End Sub
我认为您使用的是Form Control
,因为您有LinkedCell
所以这基本上得到了LinkedCell
地址,因此您可以使用相同的地址进行输出
然后,您获取ComboBox
或DropDown Object
的值,并将其传递给LinkedCell
地址。您只需将此宏分配给ComboBox即可。 HTH。