获取下拉框1的值,并将dropdownbox2的值用作单元格指示器,将其粘贴到哪里

时间:2019-07-16 12:08:24

标签: excel vba dropdownbox

我有2个下拉框和一个按钮。投递箱1的数字从1到30,投递箱2的数字从1到130。

我需要一种方法来获取投递箱2的值,并且-将投递箱1的值作为行号,然后将其粘贴到另一张纸的C列中,以便进行实时数据编辑。

注意:我是VB的完全菜鸟。下拉框和按钮在图表上是否有任何不同。另外,我还必须在图表表而不是数据表上放置下拉框。

我尝试选择下拉框值,但是无法找出正确的方法。 DropBox2.ValueDropBox2.Value.Select之类的东西似乎不起作用(很可能做错了)。谷歌搜索了如何获得投币箱价值并粘贴到其他地方的各种方法,但无济于事。抱歉,如果这看起来很平凡,就浪费任何人的时间。

Sub TEST()
    ' TEST Macro
    Sheets("Sheet1").Select
    DropBox2.Value.Select
    ActiveSheet.Cell("$C""DropBox1.Value").Select
    Selection.Paste
    Chart2.Select
End Sub

打算执行我在描述中所说的,但是错误消息

  

需要对象

出现。

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

Sub TEST()
    Dim varDrowDown1 As Variant: varDrowDown1 = ThisWorkbook.Worksheets("Sheet1").Shapes("Drop Down 1").OLEFormat.Object.Value
    Dim varDrowDown2 As Variant: varDrowDown2 = ThisWorkbook.Worksheets("Sheet1").Shapes("Drop Down 2").OLEFormat.Object.Value
    ThisWorkbook.Worksheets("Sheet2").Cells(varDrowDown1, 1).Value = varDrowDown2
End Sub

检查对象名称是否正确。我假设Sheet1是下拉框所在的位置,下拉1和下拉2是它们的名称,Sheet2是要将值复制到的工作表,并且您想将其插入第一列。

通过右键单击下拉框并查看活动单元格引用(例如A1)通常出现的位置,可以找到下拉框的名称。表格名称很简单,您也应该知道该列的编号。

答案 1 :(得分:0)

Sheets("Chart2").Select
 Dim varDropDown1 As Variant: varDropDown1 = ThisWorkbook.Sheets("Chart2").Shapes("DropDown1").OLEFormat.Object.Value
    Dim varDropDown2 As Variant: varDropDown2 = ThisWorkbook.Sheets("Chart2").Shapes("DropDown2").OLEFormat.Object.Value
ThisWorkbook.Worksheets("Sheet1").Cells(varDropDown1, 3).Value = varDropDown2

很抱歉,感谢您的所有帮助!